docs: private static void dfVisit(DMNResource node, List<DMNResource> allNodes, Collection<DMNResource> visited, List<DMNResource> dfv) {
          if (visited.contains(node)) {
              throw new RuntimeException("Circular dependency detected: " + visited + " , and again to: " + node);
          }
          visited.add(node);
  
          List<DMNResource> neighbours = node.getDependencies().stream()
                                             .flatMap(dep -> allNodes.stream().filter(r -> r.getModelID().equals(dep)))
                                             .collect(Collectors.toList());
          for (DMNResource n : neighbours) {
              if (!visited.contains(n)) {
                  dfVisit(n, allNodes, visited, dfv);
              }
          }
  
          dfv.add(node);
      }