append(length, (byte)ch);
append(length, (byte) (ch & 0xff));
	public SVNSequenceLine[] read(InputStream rawStream) throws IOException {		final List lines = new ArrayList();		final BufferedInputStream stream = new BufferedInputStream(rawStream);		try {			int pushBack = -1;			int from = 0;			int length = 0;			int eolLength = 0;			for (; ;) {				int ch = pushBack;				if (ch != -1) {					pushBack = -1;				}				else {					ch = stream.read();				}				if (ch != -1) {					append(length, (byte)ch);					length++;				}				switch (ch) {				case '\r':					pushBack = stream.read();					if (pushBack == '\n') {						append(length, (byte)pushBack);						length++;						eolLength++;						pushBack = -1;					}				case '\n':					eolLength++;				case -1:					if (length > 0) {						final int actualLength = skipEOL ? length - eolLength : length;						byte[] bytes = new byte[actualLength];						System.arraycopy(buffer, 0, bytes, 0, actualLength);						lines.add(new SVNSequenceLine(from, from + actualLength - 1, bytes));					}					from = from + length;					length = 0;					eolLength = 0;				}				if (ch == -1) {					break;				}			}			return (SVNSequenceLine[])lines.toArray(new SVNSequenceLine[lines.size()]);		}		finally {			stream.close();		}	}