private ByteBuffer getBufferByOffset(final int offset) {
        final BlockingQueue<ByteBuffer> byteBufferQueue = pooledBufferQueues[offset];

        ByteBuffer buffer = byteBufferQueue.poll();
        if (buffer == null) {
            // Queue empty so if the pool hasn't reached them limit for this buffer size
            // create a new one.
            buffer = createNewBufferIfAllowed(offset);
        } else {
            // buffer not final, so no lambda
            if (LOGGER.isTraceEnabled()) {
                LOGGER.trace("Got byteBuffer with capacity: {} from the pool with offset: {}, queue size: {}",
                        ModelStringUtil.formatCsv(buffer.capacity()),
                        offset,
                        byteBufferQueue.size());
            }
        }
        return buffer;
    }
@param n The number to test
@return True if n is a power of ten, e.g. if n==10
stroom-bytebuffer/src/main/java/stroom/bytebuffer/ByteBufferPoolImpl4.java