public RelNode align(RelNode rel, List<RelFieldCollation> collations) {
    ImmutableList.Builder<RelNode> newInputs = new ImmutableList.Builder<>();
    for (RelNode input : rel.getInputs()) {
      newInputs.add(dispatchAlign(input, ImmutableList.<RelFieldCollation>of()));
    }
    return rel.copy(rel.getTraitSet(), newInputs.build());
  }
Execute the logic in this class. In particular, make a top-down traversal of the tree
and annotate and recreate appropriate operators.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelColumnsAlignment.java