public RuleInsertionTransformer( PlanPhase phase, RuleExpression ruleExpression, ElementCapture capture, String factoryName, InsertionGraphTransformer.Insertion insertAfter )
{
super( phase, ruleExpression );
if( subGraphTransformer != null )
graphTransformer = new InsertionGraphTransformer( subGraphTransformer, ruleExpression.getMatchExpression(), capture, factoryName, insertAfter );
else if( contractedTransformer != null )
graphTransformer = new InsertionGraphTransformer( contractedTransformer, ruleExpression.getMatchExpression(), capture, factoryName, insertAfter );
else
graphTransformer = new InsertionGraphTransformer( ruleExpression.getMatchExpression(), capture, factoryName, insertAfter );
}