// Skip SERVICE
if ( true )
{
// Simplest way but still walks the OpService subtree (and throws away the transformation).
Transform walker = new TransformSkipService(transform) ;
ExprTransform exprTransform = new ExprTransformApplyTransform(transform, beforeVisitor, afterVisitor) ;
return Transformer.transform(walker, op, beforeVisitor, afterVisitor) ;
}
else
{
// Don't transform OpService and don't walk the sub-op
ExprTransform exprTransform = new ExprTransformApplyTransform(transform, beforeVisitor, afterVisitor) ;
ApplyTransformVisitorServiceAsLeaf v = new ApplyTransformVisitorServiceAsLeaf(transform, exprTransform) ;
WalkerVisitorSkipService walker = new WalkerVisitorSkipService(v, beforeVisitor, afterVisitor) ;
OpWalker.walk(walker, op) ;
return v.result() ;
}