protected static void quickSort(Instances insts,int[] indices,int attidx,int left,int right){
  if (left < right) {
    int middle=partition(insts,indices,attidx,left,right);
    quickSort(insts,indices,attidx,left,middle);
    quickSort(insts,indices,attidx,middle + 1,right);
  }
}

protected static void quickSort ( Instances insts , int [ ] indices , int attidx , int left , int right ) { if ( left < right ) { int middle = partition ( insts , indices , attidx , left , right ) ; quickSort ( insts , indices , attidx , left , middle ) ; quickSort ( insts , indices , attidx , middle + 1 , right ) ; } }
sorts the instances according to the given attribute / dimension . the sorting is done on the master index array and not on the actual instances object .
