public LogicalPlan resolveOperators(Function<LogicalPlan, LogicalPlan> rule) {
        return resolveOperators(PartialFunction.fromFunction(rule));
    }
Returns a copy of this node where `rule` has been recursively applied first to all of its
children and then itself (post-order). When `rule` does not apply to a given node, it is left
unchanged.  This function is similar to `transformUp`, but skips sub-trees that have already
been marked as analyzed.

@param rule the function use to transform this nodes children
indexr-query-opt/src/main/java/io/indexr/query/plan/logical/LogicalPlan.java