synchronized private void outputBufferedChunk(){
  if (smallChunks == null || chunkSize == 0) {
    return;
  }
  if (smallChunks.size() == 1) {
    outputChunk(smallChunks.get(0));
    chunkSize=0;
    smallChunks=null;
    return;
  }
  final IBindingSet[] chunk=new IBindingSet[chunkSize];
  int destPos=0;
  for (  IBindingSet[] e : smallChunks) {
    System.arraycopy(e,0,chunk,destPos,e.length);
    destPos+=e.length;
  }
  outputChunk(chunk);
  chunkSize=0;
  smallChunks=null;
}

synchronized private void outputBufferedChunk ( ) { if ( smallChunks == null || chunkSize == 0 ) { return ; } if ( smallChunks . size ( ) == 1 ) { outputChunk ( smallChunks . get ( 0 ) ) ; chunkSize = 0 ; smallChunks = null ; return ; } final IBindingSet [ ] chunk = new IBindingSet [ chunkSize ] ; int destPos = 0 ; for ( IBindingSet [ ] e : smallChunks ) { System . arraycopy ( e , 0 , chunk , destPos , e . length ) ; destPos += e . length ; } outputChunk ( chunk ) ; chunkSize = 0 ; smallChunks = null ; }
output the internal buffer .
