@Override void delEdge(Edge<T> e) { getFathers.remove(e.getFather(), e.getSon()); Node<T> father = getFather(e.getSon()); Node<T> n = tNode.get(e.getSon()); if (father == null) { tree.remove(n); } else if (father != n.getFather()) { tree.move(father, n); } }
Node<T> getFather(T t) { Node<T> best = null; Node<T> conc; for (T tf : getFathers.getAll(t)) { conc = tNode.get(tf); if (takeFirst(conc, best)) { best = conc; } } return best; }