public RuleAnnotationTransformer( PlanPhase phase, RuleExpression ruleExpression, ElementAnnotation annotation )
{
super( phase, ruleExpression );
if( subGraphTransformer != null )
graphTransformer = new AnnotateGraphTransformer( subGraphTransformer, ruleExpression.getMatchExpression(), annotation );
else if( contractedTransformer != null )
graphTransformer = new AnnotateGraphTransformer( contractedTransformer, ruleExpression.getMatchExpression(), annotation );
else
graphTransformer = new AnnotateGraphTransformer( ruleExpression.getMatchExpression(), annotation );
}