private LinkedList reduceBuffer(int newSize){
  LinkedList newBuffer=new LinkedList();
  List original=bufferHolder.getOrderedCollection();
  Collections.reverse(original);
  Iterator iter=original.iterator();
  int i=0;
  while (iter.hasNext() && i < newSize) {
    newBuffer.add(iter.next());
    i++;
  }
  return newBuffer;
}

private LinkedList reduceBuffer ( int newSize ) { LinkedList newBuffer = new LinkedList ( ) ; List original = bufferHolder . getOrderedCollection ( ) ; Collections . reverse ( original ) ; Iterator iter = original . iterator ( ) ; int i = 0 ; while ( iter . hasNext ( ) && i < newSize ) { newBuffer . add ( iter . next ( ) ) ; i ++ ; } return newBuffer ; }
reduce size of buffer while not losing current elements beyond what the size reduction would cause . if the size is increased then no loss of data occurs .
