public static List<Graph> getDagsInPatternMeek(Graph pattern, Knowledge knowledge) { DagInPatternIterator iterator = new DagInPatternIterator(pattern); List<Graph> dags = new ArrayList<Graph>(); while (iterator.hasNext()) { Graph graph = iterator.next(); try { // Dag dag = new Dag(graph); if (knowledge.isViolatedBy(graph)) { continue; } dags.add(graph); } catch (IllegalArgumentException e) { System.out.println("Found a non-DAG: " + graph); } } return dags; }