internal void AddRule(T newRule) { lock (this.cacheLock) { this._rules = RuleCache <T> .AddOrInsert(this._rules, newRule); } }
internal void ReplaceRule(T oldRule, T newRule) { lock (this.cacheLock) { int index = Array.IndexOf <T>(this._rules, oldRule); if (index >= 0) { this._rules[index] = newRule; } else { this._rules = RuleCache <T> .AddOrInsert(this._rules, newRule); } } }