internal PipelineConditionAction(PipelineContext ctx, PipelineConditionAction template, String name, Regex regex)
            : base(template, name, regex)
        {
            skipUntil        = optReplace(regex, name, template.skipUntil);
            genericSkipUntil = this.skipUntil == "*";

            String x = optReplace(regex, name, template.cond.Expression);

            cond = (x == template.cond.Expression) ? template.cond : Condition.Create(x);

            ActionsToSkip = template.ActionsToSkip;
            if (subTemplates != null)
            {
                subActions = new PipelineAction[subTemplates.Length];
                for (int i = 0; i < subActions.Length; i++)
                {
                    subActions[i] = subTemplates[i].OptCreateAction(ctx, name);
                }
            }
            else
            {
                subActions = template.subActions;
            }
        }
 public PipelineConditionTemplate(Pipeline pipeline, XmlNode node)
     : base(pipeline, node)
 {
     template = new PipelineConditionAction(pipeline, node);
 }