code: public synchronized ByteBuffer getBuffer()
      {
          ByteBuffer buf=null;
          int s=LazyList.size(_recycle);
          if (s>0)
          {
              s--;
               buf=(ByteBuffer)LazyList.get(_recycle, s);
               _recycle=LazyList.remove(_recycle,s);
               buf.clear();
          }
          else
          {
              buf=ByteBuffer.allocateDirect(_bufferSize);
          }
           return buf;     
      }
docs: Get a buffer to write to this InputStream.
  The buffer wll either be a new direct buffer or a recycled buffer.