docs: protected int rearrangePoints(int[] indices, final int startidx, final int endidx,
        			      final int splitDim, final double splitVal) {
      
      int tmp, left = startidx - 1;
      for (int i = startidx; i <= endidx; i++) {
        if (m_EuclideanDistance.valueIsSmallerEqual(m_Instances
            .instance(indices[i]), splitDim, splitVal)) {
          left++;
          tmp = indices[left];
          indices[left] = indices[i];
          indices[i] = tmp;
        }//end if valueIsSmallerEqual
      }//end for
      return left + 1;
    }