default void doWithBuffer(int minCapacity, Consumer<ByteBuffer> work) {
        try (final PooledByteBuffer pooledKeyByteBuffer = getPooledByteBuffer(minCapacity)) {
            work.accept(pooledKeyByteBuffer.getByteBuffer());
        }
    }
Performs work using a pooled buffer with capacity >= minCapacity. The pooled buffer is returned
to the pool on completion of work. The buffer should not be used/mutated after completion of work.
stroom-bytebuffer/src/main/java/stroom/bytebuffer/ByteBufferPool.java