Recursive print two lines for every call with Stairstep pattern

I am working on a data structures problem. The assignment and what I have so far is listed below.

import java.util.Scanner;
import java.util.Random; 
* Recursive methods for fun & profit
* @author (your name) 
* @version (a version number or a date)
public class DSLab2
 * Prints 2 lines of text for each recursive call, indicating call number 
     * (a value >= 1, and <= value of numCalls, as illustrated below.  Each
     * level of recursion should be indicated by indenting the input line by
     * r spaces.  For example, if numCalls is 3, the method should print:
 *  call 1
 *   call 2
 *    call 3
 *    back 3
 *   back 2
 *  back 1
 *  @param r the level of method calls
 *  @param numCalls the number of intended levels
public static void stairSteps (int r, int numCalls)
    System.out.println("call "+r);
    System.out.println("back "+r);

I have tried the following method, but it only outputs the bottom half of the stair-step requirement. I am not able to figure out how to call the method recursively such that the two lines are printed in each call without them being next to each other.

public static void stairSteps (int r, int numCalls)


    for ( int i = 0; i <numCalls ; i++){
    System.out.print(" ");
    System.out.println("back " + r);
    stairSteps(r-1, numCalls-1); 

Any suggestions?