code: private ByteBuffer ringGet() {
  		ByteBuffer bb = null;
  		synchronized(ring) {
  			bb=ring[start];
  			ring[start]=null;
  			if(bb!=null && ++start>15)start=0;
  		}
  		if(bb==null) {
  			bb=ByteBuffer.allocate(DEFAULT_CHUNK);
  		} else {
  			bb.clear();// refresh reused buffer
  		}
  		return bb;
  	}
docs: /*
  Ring Functions.  Reuse allocated memory