XByteBuffer buffer = (XByteBuffer)queue.poll();
if ( buffer != null ) size.addAndGet(-buffer.getCapacity());
if ( buffer == null ) buffer = new XByteBuffer(minSize,discard);
else if ( buffer.getCapacity() <= minSize ) buffer.expand(minSize);
buffer.setDiscard(discard);
buffer.reset();
return buffer;