Statement (StatEdge edge) { Statement closure = edge.closure; while (true) { boolean found = false; for (Statement st : closure.getStats()) { if (st.containsStatementStrict(edge.getSource())) { if (MergeHelper.isDirectPath(st, edge.getDestination())) { closure = st; found = true; break; } } } if (!found) { break; } } return closure; }