code: @Override
  	public void write(final int b) throws IOException {
  		if (hasBeenClosed) {
  			throw new IOException("The stream has been closed.");
  		}
  
  		byte[] bytes = new byte[1];
  		bytes[0] = (byte) (b & 0xff);
  		String s = new String(bytes);
  		if (s.equals("\n")) {
  			flush();
  		} else {
  			buffer.append(s);
  		}
  	}
docs: Writes the specified byte to this output stream. The general contract for
  <code>write</code> is that one byte is written to the output stream. The
  byte to be written is the eight low-order bits of the argument
  <code>b</code>. The 24 high-order bits of <code>b</code> are ignored.
  
  @param b
  the <code>byte</code> to write