docs: protected boolean pushTowardsOriginatingNode( PlanNode criteriaNode,
                                                    PlanNode originatingNode ) {
          // To keep things stable, 'originatingNode' should be the top-most SELECT (criteria) node above a SOURCE ...
          while (originatingNode.getParent().getType() == Type.SELECT) {
              originatingNode = originatingNode.getParent();
              if (originatingNode == criteriaNode) return false;
          }
  
          // Find out the best node above which the criteria node should be placed ...
          PlanNode bestChild = findBestChildForCriteria(criteriaNode, originatingNode);
          if (bestChild == criteriaNode) return false;
          criteriaNode.extractFromParent();
          bestChild.insertAsParent(criteriaNode);
          assert atBoundary(criteriaNode, originatingNode);
          return true;
      }