docs: protected void determineAssignments(KDTreeNode node, Instances centers,
        int[] candidates, int[] assignments, double pc) throws Exception {
  
      // reduce number of owners for current hyper rectangle
      int[] owners = refineOwners(node, centers, candidates);
  
      // only one owner
      if (owners.length == 1) {
        // all instances of this node are owned by one center
        for (int i = node.m_Start; i <= node.m_End; i++) {
          assignments[m_InstList[i]] // the assignment of this instance
          = owners[0]; // is the current owner
        }
      } else if (!node.isALeaf()) {
        // more than one owner and it is not a leaf
        determineAssignments(node.m_Left, centers, owners, assignments, pc);
        determineAssignments(node.m_Right, centers, owners, assignments, pc);
      } else {
        // this is a leaf and there are more than 1 owner
        // XMeans.
        assignSubToCenters(node, centers, owners, assignments);
      }
    }