public void EnsureCreated(string expressionString, IReadOnlyList <object> requestValues) { if (_expressionCache.ContainsKey(expressionString)) { return; } if (_onlyStringFuncCache.ContainsKey(expressionString)) { return; } Lambda expression = CreateExpression(expressionString, requestValues); if (RequestTokens.Count is 3 && PolicyTokens.Count is 3 && CheckRequestValuesOnlyString(requestValues)) { _onlyStringFuncCache[expressionString] = expression.Compile <Func <string, string, string, string, string, string, bool> >(); return; } _expressionCache[expressionString] = expression; }