docs: void assignToLists() {
  
          int lastOuterIndex = -1;
  
          for (int i = 0; i < rangeVariables.length; i++) {
              if (rangeVariables[i].isLeftJoin
                      || rangeVariables[i].isRightJoin) {
                  lastOuterIndex = i;
              }
  
              if (lastOuterIndex == i) {
                  joinExpressions[i].addAll(tempJoinExpressions[i]);
              } else {
                  for (int j = 0; j < tempJoinExpressions[i].size(); j++) {
                      assignToLists((Expression) tempJoinExpressions[i].get(j),
                                    joinExpressions, lastOuterIndex + 1);
                  }
              }
          }
  
          for (int i = 0; i < queryExpressions.size(); i++) {
              assignToLists((Expression) queryExpressions.get(i),
                            whereExpressions, lastOuterIndex);
          }
      }