code: public void readBytes(Slice destination, int length)
      {
          if (length > destination.length()) {
              throw new IndexOutOfBoundsException();
          }
          readBytes(destination, destination.length(), length);
      }
docs: Transfers this buffer's data to the specified destination starting at
  the current {@code position} and increases the {@code position}
  by the number of the transferred bytes (= {@code length}).  This method
  is basically same with {@link #readBytes(Slice, int, int)},
  except that this method increases the {@code writerIndex} of the
  destination by the number of the transferred bytes (= {@code length})
  while {@link #readBytes(Slice, int, int)} does not.
  
  @throws IndexOutOfBoundsException if {@code length} is greater than {@code this.available()} or
  if {@code length} is greater than {@code destination.writableBytes}