private boolean missingColliders(Graph graph) { List<Triple> colliders = getUnshieldedCollidersFromGraph(graph); Graph copy = new EdgeListGraphSingleConnections(graph); new MeekRules().orientImplied(copy); if (copy.existsDirectedCycle()) return true; List<Triple> newColliders = getUnshieldedCollidersFromGraph(copy); newColliders.removeAll(colliders); if (!newColliders.isEmpty()) { return true; } return false; }