Lectura de varias líneas en un objeto de escáner en Java

Tengo algunos problemas para descubrir cómo leer varias líneas de entrada del usuario en un escáner y luego almacenarlo en una sola cadena. Lo que tengo hasta ahora está abajo:

public static String getUserString(Scanner keyboard) { 
    System.out.println("Enter Initial Text:");
    String input = "";
    String nextLine = keyboard.nextLine();
    while(keyboard.hasNextLine()){
        input += keyboard.nextLine
    };
    return input;
}

entonces las primeras tres declaraciones del método principal son:

Scanner scnr = new Scanner(System.in);
String userString = getUserString(scnr);  
System.out.println("\nCurrent Text: " + userString );

Mi objetivo es tenerlo donde una vez que el usuario escribe su texto, todo lo que tiene que hacer es presionar Enter dos veces para que todo lo que ha escrito se muestre de nuevo (siguiendo "Texto actual:"). También necesito almacenar la cadena en la variable userString en el main (tengo que usar esta variable en otros métodos). Cualquier ayuda con esto sería muy apreciada. Es para la clase, y no podemos usar matrices o Stringbuilder ni nada mucho más complicado que un ciclo while y métodos básicos de cadena.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta