code: public void apply( Traversal order,
                         final Operation operation,
                         final Type type ) {
          apply(order, new Operation() {
              @Override
              public void apply( PlanNode node ) {
                  if (node.getType() == type) operation.apply(node);
              }
          });
      }
docs: Walk the plan tree starting in the specified traversal order, and apply the supplied operation to every plan node with a
  type that matches the given type.
  
  @param order the order in which the subtree should be traversed; may not be null
  @param operation the operation that should be applied; may not be null
  @param type the type of node to which the operation should be applied; may not be null