code: public PlanNode findAncestor( Type firstTypeToFind,
                                    Type... additionalTypesToFind ) {
          return findAncestor(EnumSet.of(firstTypeToFind, additionalTypesToFind));
      }
docs: Starting at the parent of this node, find the lowest (also closest) ancestor that has one of the specified types.
  
  @param firstTypeToFind the first type to find; may not be null
  @param additionalTypesToFind additional types to find; may not be null
  @return the node with the specified type, or null if there is no such ancestor