@Override
    public RelNode visit(HiveJoin join) {
      // call the shuttle to fetch the CorrelationIds
      join.getCondition().accept(visitor);
      return super.visit(join);
    }
The SubQueryRelNodeShuttle walks through the RelNodes within the RexSubQuery.
The CorrelationIds can be found within the RexNodes inside the RelNodes, so
we call the InsideRexSubQueryVisitor to fetch them. This visitor will hold the
array of correlationIds and keep the composite list of Ids across RelNodes
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/correlation/CorrelationInfoVisitor.java