docs: protected boolean pushDownJoinCriteria( PlanNode criteriaNode,
                                              PlanNode joinNode ) {
          JoinType joinType = (JoinType)joinNode.getProperty(Property.JOIN_TYPE);
  
          switch (joinType) {
              case CROSS:
                  joinNode.setProperty(Property.JOIN_TYPE, JoinType.INNER);
                  moveCriteriaIntoOnClause(criteriaNode, joinNode);
                  break;
              case INNER:
                  moveCriteriaIntoOnClause(criteriaNode, joinNode);
                  break;
              default:
                  // This is where we could attempt to optimize the join type ...
                  // if (optimizeJoinType(criteriaNode, joinNode) == JoinType.INNER) {
                  // // The join type has changed ...
                  // moveCriteriaIntoOnClause(criteriaNode, joinNode);
                  // return true; // since the join type has changed ...
                  // }
          }
          return false;
      }