@Override public void add(A parent, Transition<A> transition) { visited.add(transition.successor(parent)); }
@Override public A get(A parent, Transition<A> transition) { return transition.successor(parent); }
@Override public int contains(A parent, Transition<A> transition) { A child = transition.successor(parent); return visited.contains(child) ? 0 : -1; }