code: function addBestSplit(mRules, rule, seenRules) {
      //if(!global_AddSplits) {
      //    return;
      //}
      if (rule.type !== IMatch.EnumRuleType.WORD) {
          return;
      }
      var best = Breakdown.makeMatchPattern(rule.lowercaseword);
      if (!best) {
          return;
      }
      var newRule = {
          category: rule.category,
          matchedString: rule.matchedString,
          bitindex: rule.bitindex,
          bitSentenceAnd: rule.bitindex,
          wordType: rule.wordType,
          word: best.longestToken,
          type: 0,
          lowercaseword: best.longestToken,
          _ranking: 0.95,
          //    exactOnly : rule.exactOnly,
          range: best.span
      };
      if (rule.exactOnly) {
          newRule.exactOnly = rule.exactOnly;
      }
      ;
      newRule.range.rule = rule;
      insertRuleIfNotPresent(mRules, newRule, seenRules);
  }
docs: /* given a rule which represents a word sequence which is split during tokenization