docs: private static List<Fragment> fragmentsForUnvisitedNodes(Map<NodeId, Node> allNodes, Collection<Node> connectedNodes) {
          List<Fragment> subplan = new LinkedList<>();
  
          Set<Node> nodeWithFragment = connectedNodes.stream()
                  // make sure the fragment either has no dependency or dependencies have been dealt with
                  .filter(node -> !node.getFragmentsWithoutDependency().isEmpty() ||
                          !node.getFragmentsWithDependencyVisited().isEmpty())
                  .collect(Collectors.toSet());
          while (!nodeWithFragment.isEmpty()) {
              nodeWithFragment.forEach(node -> subplan.addAll(nodeToPlanFragments(node, allNodes, false)));
              nodeWithFragment = connectedNodes.stream()
                      .filter(node -> !node.getFragmentsWithoutDependency().isEmpty() ||
                              !node.getFragmentsWithDependencyVisited().isEmpty())
                      .collect(Collectors.toSet());
          }
  
          return subplan;
      }