@Override
    public void close() {
        Objects.requireNonNull(byteBuffer, "Already released");
        if (byteBuffer.isDirect()) {
            try {
                LOGGER.debug("Unmapping buffer {}", byteBuffer);
                ByteBufferSupport.unmap(byteBuffer);
            } catch (final Exception e) {
                LOGGER.error("Error releasing direct byte buffer", e);
            }
        }
        byteBuffer = null;
    }
Release the underlying {@link ByteBuffer} back to the pool. Once released,
the {@link ByteBuffer} cannot be used any more and you should not retain any
references to it.
stroom-bytebuffer/src/main/java/stroom/bytebuffer/impl6/NonPooledByteBuffer.java