docs: private static ArrayList<List<JoinNode>> generateJoinOrders(List<JoinNode> subTrees) {
          ArrayList<List<JoinNode>> permutations = new ArrayList<>();
          for (JoinNode subTree : subTrees) {
              permutations.add(generateJoinOrdersForTree(subTree));
          }
          return permutations;
      }