docs: protected void addEquiJoinColumn( QueryContext context,
                                        PlanNode node,
                                        Column joinColumn ) {
          if (node.getSelectors().contains(joinColumn.selectorName())) {
              // Get the existing projected columns ...
              List<Column> columns = node.getPropertyAsList(Property.PROJECT_COLUMNS, Column.class);
              List<String> types = node.getPropertyAsList(Property.PROJECT_COLUMN_TYPES, String.class);
              if (columns != null && addIfMissing(context, joinColumn, columns, types)) {
                  node.setProperty(Property.PROJECT_COLUMNS, columns);
                  node.setProperty(Property.PROJECT_COLUMN_TYPES, types);
              }
          }
  
          // Apply recursively ...
          for (PlanNode child : node) {
              addEquiJoinColumn(context, child, joinColumn);
          }
      }