public static boolean isDone(
      Map<String, StepTransition> runtimeDag,
      Map<String, Boolean> idStatusMap,
      RestartConfig restartConfig) {

    Map<String, Set<String>> parentMap = new HashMap<>();
    Map<String, Set<String>> childMap = new HashMap<>();
    Deque<String> deque =
        prepareDagForTraversal(
            runtimeDag, idStatusMap.keySet(), restartConfig, parentMap, childMap);

    return isDone(idStatusMap, deque, parentMap, childMap);
  }
@Test
  public void testComplete() {
    Map<String, Boolean> idStatusMap = new LinkedHashMap<>();
    idStatusMap.put("job_5", Boolean.TRUE);
    idStatusMap.put("job_2", Boolean.TRUE);
    idStatusMap.put("job_3", Boolean.TRUE);
    idStatusMap.put("job_4", Boolean.TRUE);
    idStatusMap.put("job_1", Boolean.TRUE);
    Assert.assertTrue(DagHelper.isDone(runtimeDag2, idStatusMap, null));
  }