### Question:
ParallelScheduler implements Transformation<E, V, Schedule<E, V>> { @Override public Schedule<E, V> apply(Graph<E, V> graph) { return apply(graph, EdgeFilters.acceptAll(), NodeFilters.acceptAll()); }  @Override Schedule<E, V> apply(Graph<E, V> graph); @Override Schedule<E, V> apply(Graph<E, V> graph, Predicate<E> edgeFilter, Predicate<V> nodeFilter);  }### Answer:
@Test void testPlan() { parse(toSchedule); System.out.println(graph); val result = scheduler.apply(graph); assertEquals(result.size(), 4, "must have 4 elements"); }
@Test void ensureDependentsAreCorrect() { parse(toSchedule); val result = scheduler.apply(graph); val dware = find("dware", result); assertTrue( dware.getPredecessors().contains(find("ieee", result)), "must contain correct simple neighbor"); }