private void insertKAryConstraint(int owner, KAryConstraint constraint, boolean replace) {
    roots[owner].add(constraint, replace);

    // update neighbores
    for (int p : constraint.getParicipients()) {
      if (owner != p) {
        addNeighbor(owner, p);
      }
    }
  }
 public void add(KAryConstraint constraint, boolean replace) {
   int[] participients = constraint.getParicipients();
   Arrays.sort(participients);
   _add(constraint, participients, 0, replace);
 }