public static List<String> readLines(Reader in) throws IOException
	{
		BufferedReader reader = buffer(in);
		List<String> lines = new ArrayList<String>();
		String line = reader.readLine();
		while (line != null) {
			lines.add(line);
			line = reader.readLine();
		}
		return Collections.unmodifiableList(lines);
	}
public static List<String> readLines(Reader in) throws IOException
	{
		BufferedReader reader = buffer(in);
		List<String> lines = new ArrayList<String>();
		String line = reader.readLine();
		while (line != null) {
			lines.add(line);
			line = reader.readLine();
		}
		return Collections.unmodifiableList(lines);
	}
public static List < String > readLines ( Reader in ) throws IOException { BufferedReader reader = buffer ( in ) ; List < String > lines = new ArrayList < String > ( ) ; String line = reader . readLine ( ) ; while ( line != null ) { lines . add ( line ) ; line = reader . readLine ( ) ; } return Collections . unmodifiableList ( lines ) ; }
Reads all the lines from the given source {@code Reader}. Note that
the returned {@code List} is immutable.

@param in the stream to read.

@return the stream's lines.

@throws NullPointerException if {@code in} is {@code null}.
@throws IOException if the stream cannot be read.
Reads all the lines from the given source { @code Reader } . Note that the returned { @code List } is immutable .