void () { Set<VarVersionNode> roots = new HashSet<>(); for (VarVersionNode node : nodes) { if (node.predecessors.isEmpty()) { roots.add(node); } } engine = new GenericDominatorEngine(new IGraph() { @Override public List<? extends IGraphNode> getReversePostOrderList() { return getReversedPostOrder(roots); } @Override public Set<? extends IGraphNode> getRoots() { return new HashSet<IGraphNode>(roots); } }); engine.initialize(); }