code: @Override
  	public String read( final SocketChannel channel, final String charset, int bufferSize ) throws IOException {
  		final ByteBuffer buffer = ByteBuffer.allocate( bufferSize );
  		final ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
  		while ( true ){
  			final int readBytes = channel.read( buffer );
  			if ( readBytes == -1 ) break;
  			if ( readBytes > 0 ) {
  				final byte[] bytes = readBytes == bufferSize ? buffer.array() : Arrays.copyOf(buffer.array(), readBytes);
  				byteStream.write( bytes );
  			}
  			buffer.clear();
  		}
  		return new String( byteStream.toByteArray(), charset );
  	}
docs: UNCHECKED: mais linhas do que o permitido