docs: private void buildTree(int left, int right, int axis, DoubleDBIDListMIter iter) {
      assert (left < right);
      for(iter.seek(left); iter.getOffset() < right; iter.advance()) {
        iter.setDouble(relation.get(iter).doubleValue(axis));
        countObjectAccess();
      }
      if(right - left <= leafsize) {
        return;
      }
  
      int middle = (left + right) >>> 1;
      QuickSelectDBIDs.quickSelect(sorted, left, right, middle);
      final int next = (axis + 1) % dims;
      if(left < middle) {
        buildTree(left, middle, next, iter);
      }
      ++middle;
      if(middle < right) {
        buildTree(middle, right, next, iter);
      }
    }