protected void grow(){
  if (dists == EMPTY_DISTS) {
    dists=new double[INITIAL_SIZE];
    ids=new int[INITIAL_SIZE];
    return;
  }
  final int len=dists.length;
  final int newlength=len + (len >> 1);
  double[] odists=dists;
  dists=new double[newlength];
  System.arraycopy(odists,0,dists,0,odists.length);
  int[] oids=ids;
  ids=new int[newlength];
  System.arraycopy(oids,0,ids,0,oids.length);
}

protected void grow ( ) { if ( dists == EMPTY_DISTS ) { dists = new double [ INITIAL_SIZE ] ; ids = new int [ INITIAL_SIZE ] ; return ; } final int len = dists . length ; final int newlength = len + ( len > > 1 ) ; double [ ] odists = dists ; dists = new double [ newlength ] ; System . arraycopy ( odists , 0 , dists , 0 , odists . length ) ; int [ ] oids = ids ; ids = new int [ newlength ] ; System . arraycopy ( oids , 0 , ids , 0 , oids . length ) ; }
grow the data storage .
