public static void copy(ByteBuffer src, int srcOffset, byte[] dest, int destOffset, int length) {
        long srcAddress = srcOffset;
        Object srcBase = null;
        if (src.isDirect()) {
            srcAddress = srcAddress + directBufferAddress(src);
        } else {
            srcAddress = srcAddress + BYTE_ARRAY_BASE_OFFSET + src.arrayOffset();
            srcBase = src.array();
        }
        long destAddress = destOffset + BYTE_ARRAY_BASE_OFFSET;
        unsafeCopy(srcBase, srcAddress, dest, destAddress, length);
    }
Copies specified number of bytes from given offset of {@code src} ByteBuffer to the
{@code dest} array.

@param src        source buffer
@param srcOffset  offset into source buffer
@param dest       destination array
@param destOffset offset into destination buffer
@param length     length of data to copy
stroom-bytebuffer/src/main/java/stroom/bytebuffer/hbase/UnsafeAccess.java