code: protected boolean candidateIsFullOwner(KDTreeNode node, Instance candidate,
        Instance competitor) throws Exception {
      // get extreme point
      Instance extreme = (Instance)candidate.copy();
      for (int i = 0; i < m_Instances.numAttributes(); i++) {
        if ((competitor.value(i) - candidate.value(i)) > 0) {
          extreme.setValue(i, node.m_NodeRanges[i][MAX]);
        } else {
          extreme.setValue(i, node.m_NodeRanges[i][MIN]);
        }
      }
      boolean isFullOwner = m_EuclideanDistance.distance(extreme, candidate) < m_EuclideanDistance
          .distance(extreme, competitor);
  
      return isFullOwner;
    }
docs: Returns true if candidate is a full owner in respect to a competitor.
  <p>
  
  The candidate has been the closer point to the current rectangle or even
  has been a point within the rectangle. The competitor is competing with the
  candidate for a few points out of the rectangle although it is a point
  further away from the rectangle then the candidate. The extrem point is the
  corner of the rectangle that is furthest away from the candidate towards
  the direction of the competitor.
  
  If the distance candidate to this extreme point is smaller then the
  distance competitor to this extreme point, then it is proven that none of
  the points in the rectangle can be owned be the competitor and the
  candidate is full owner of the rectangle in respect to this competitor. See
  also D. Pelleg and A. Moore's paper 'Accelerating exact k-means Algorithms
  with Geometric Reasoning'.
  <p>
  
  @param node The current KDTreeNode / hyperrectangle.
  @param candidate	instance that is candidate to be owner
  @param competitor	instance that competes against the candidate
  @return 		true if candidate is full owner
  @throws Exception If some problem occurs.