code: @Override public void skip(long byteCount) throws EOFException {
      while (byteCount > 0) {
        if (head == null) throw new EOFException();
  
        int toSkip = (int) Math.min(byteCount, head.limit - head.pos);
        size -= toSkip;
        byteCount -= toSkip;
        head.pos += toSkip;
  
        if (head.pos == head.limit) {
          Segment toRecycle = head;
          head = toRecycle.pop();
          SegmentPool.recycle(toRecycle);
        }
      }
    }
docs: Discards {@code byteCount} bytes from the head of this buffer.