public TemplateRootMappingRuleInterpreted(SNode rule) {
    ruleNode = rule;
    applicableConcept = NameUtil.nodeFQName(RuleUtil.getBaseRuleApplicableConcept(rule));

    SNode condition = RuleUtil.getBaseRuleCondition(ruleNode);
    conditionMethod =
        condition == null ? null : TemplateFunctionMethodName.baseMappingRule_Condition(condition);

    ruleMappingName = RuleUtil.getBaseRuleLabel(ruleNode);
    templateNode = RuleUtil.getRootRuleTemplateNode(ruleNode);
  }
 public TemplateReductionRuleInterpreted(SNode ruleNode) {
   this.ruleNode = ruleNode;
   this.applicableConcept = NameUtil.nodeFQName(RuleUtil.getBaseRuleApplicableConcept(ruleNode));
   this.baseRuleCondition = RuleUtil.getBaseRuleCondition(ruleNode);
   this.ruleMappingName = RuleUtil.getBaseRuleLabel(ruleNode);
   myConditionMethodName =
       baseRuleCondition == null
           ? null
           : TemplateFunctionMethodName.baseMappingRule_Condition(baseRuleCondition);
   myRuleConsequence = RuleUtil.getReductionRuleConsequence(ruleNode);
   myApplyToInheritors = RuleUtil.getBaseRuleApplyToConceptInheritors(ruleNode);
   myNodePointer = new SNodePointer(ruleNode);
 }