public ByteBuffer[] toDirectByteBuffers(long offset, long size) {
        long pos = offset;
        long blockSize = Integer.MAX_VALUE;
        long limit = offset + size;
        int numBuffers = (int) ((size + (blockSize - 1)) / blockSize);
        ByteBuffer[] result = new ByteBuffer[numBuffers];
        int index = 0;
        while (pos < limit) {
            long blockLength = Math.min(limit - pos, blockSize);
            result[index++] = UnsafeUtil.newDirectByteBuffer(address() + pos, (int) blockLength, this)
                    .order(ByteOrder.nativeOrder());
            pos += blockLength;
        }
        return result;

    }
public ByteBuffer [ ] toDirectByteBuffers ( long offset , long size ) { long pos = offset ; long blockSize = Integer . MAX_VALUE ; long limit = offset + size ; int numBuffers = ( int ) ( ( size + ( blockSize - 1 ) ) / blockSize ) ; ByteBuffer [ ] result = new ByteBuffer [ numBuffers ] ; int index = 0 ; while ( pos < limit ) { long blockLength = Math . min ( limit - pos , blockSize ) ; result [ index ++ ] = UnsafeUtil . newDirectByteBuffer ( address ( ) + pos , ( int ) blockLength , this ) . order ( ByteOrder . nativeOrder ( ) ) ; pos += blockLength ; } return result ; }
Gives an sequence of ByteBuffers of a specified range. Writing to these ByteBuffers modifies the contents of this LBuffer.
@param offset
@param size
@return