code: public int fromInputStream(final InputStream in) throws IOException {
  		final OMemoryStream out = new OMemoryStream();
  		try {
  			int b;
        while ((b = in.read()) > -1) {
  				out.write(b);
  			}
  			out.flush();
  			_source = out.toByteArray();
  		} finally {
  			out.close();
  		}
  		_size = _source.length;
  		return _size;
  	}
docs: Reads the input stream in memory. This is less efficient than {@link #fromInputStream(InputStream, int)} because allocation is
  made multiple times. If you already know the input size use {@link #fromInputStream(InputStream, int)}.
  
  @param in
  Input Stream, use buffered input stream wrapper to speed up reading
  @return Buffer read from the stream. It's also the internal buffer size in bytes
  @throws IOException