public virtual int GetRepeatLimit()
            {
                int result = 0;

                PluralRules.RuleChain rc = this;
                while (rc != null)
                {
                    result = rc.rule.UpdateRepeatLimit(result);
                    rc     = rc.next;
                }
                return(result);
            }
 public virtual ILOG.J2CsMapping.Collections.ISet GetKeywords()
 {
     ILOG.J2CsMapping.Collections.ISet result = new HashedSet();
     ILOG.J2CsMapping.Collections.Generics.Collections.Add(result, IBM.ICU.Text.PluralRules.KEYWORD_OTHER);
     PluralRules.RuleChain rc = this;
     while (rc != null)
     {
         ILOG.J2CsMapping.Collections.Generics.Collections.Add(result, rc.rule.GetKeyword());
         rc = rc.next;
     }
     return(result);
 }
 /// <summary>
 /// Syntax: rules : rule rule ';' rules
 /// </summary>
 ///
 private static PluralRules.RuleChain  ParseRuleChain(String description)
 {
     PluralRules.RuleChain rc = null;
     String[] rules_0         = IBM.ICU.Impl.Utility.Split(description, ';');
     for (int i = 0; i < rules_0.Length; ++i)
     {
         PluralRules.Rule r = ParseRule(rules_0[i].Trim());
         if (rc == null)
         {
             rc = new PluralRules.RuleChain(r);
         }
         else
         {
             rc = rc.AddRule(r);
         }
     }
     return(rc);
 }
 public RuleChain(PluralRules.Rule rule_0, PluralRules.RuleChain next_1)
 {
     this.rule = rule_0;
     this.next = next_1;
 }