@Override
    public int capacity(final ByteBuffer source,
                        final int offset) {
      final byte headerByte0 = source.get(offset);
      final byte headerByte1 = source.get(offset + 1);
      final byte headerByte2 = source.get(offset + 2);
      final int packedCapacity = ((((headerByte0 & CAPACITY_MASK_0) << CAPACITY_BITS_1)
                                   | (headerByte1 & CAPACITY_MASK_1)) << CAPACITY_BITS_2)
                                 | (headerByte2 & CAPACITY_MASK_2);
      return (packedCapacity << OFFSET_BUCKET_BITS) + MIN_CAPACITY;
    }
@Override
    public int capacity(final ByteBuffer source,
                        final int offset)