@Override
    public void putRecord(final ByteBuffer target,
                          final int offset,
                          final int capacity,
                          final int length,
                          final int redirectToId,
                          final ByteBuffer payload) {
      final int packedCapacity = getPackedCapacity(capacity);

      final byte headerByte0 = (byte)(RECORD_TYPE_PADDING
                                      | (((packedCapacity >> CAPACITY_BITS_2) >> CAPACITY_BITS_1) & CAPACITY_MASK_0));
      final byte headerByte1 = (byte)((packedCapacity >> CAPACITY_BITS_2) & CAPACITY_MASK_1);
      final byte headerByte2 = (byte)(packedCapacity & CAPACITY_MASK_2);
      target.put(offset, headerByte0);
      target.put(offset + 1, headerByte1);
      target.put(offset + 2, headerByte2);
    }
@Override
    public void putRecord(final ByteBuffer target,
                          final int offset,
                          final int capacity,
                          final int length,
                          final int redirectToId,
                          final ByteBuffer payload)