private void addUnbuffered(T elem){
  unbufferedElements.add(elem);
  if (unbufferedElements.size() == bufferSize) {
    Collections.sort(unbufferedElements,compareFn);
    buffers.add(new QuantileBuffer<T>(unbufferedElements));
    unbufferedElements=Lists.newArrayListWithCapacity(bufferSize);
    collapseIfNeeded();
  }
}

private void addUnbuffered ( T elem ) { unbufferedElements . add ( elem ) ; if ( unbufferedElements . size ( ) == bufferSize ) { Collections . sort ( unbufferedElements , compareFn ) ; buffers . add ( new QuantileBuffer < T > ( unbufferedElements ) ) ; unbufferedElements = Lists . newArrayListWithCapacity ( bufferSize ) ; collapseIfNeeded ( ) ; } }
add a new buffer to the unbuffered list , creating a new buffer and collapsing if needed .
