src/org/kocakosm/pitaya/io/CharStreams.java
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.