code: public boolean read(SocketChannel ch) throws Exception {
          long bytes=ch.read(bufs, position, limit-position);
          if(bytes == -1)
              throw new EOFException();
          return adjustPosition(false);
      }
docs: Performs a scattering read into all (contiguous) non-null buffers in range [position .. limit]. Returns true if
  the scattering read was successful, else false. Note that to read the contents of the individual buffers,
  {@link ByteBuffer#clear()} has to be called (all buffers have their position == limit on a successful read).