private static (IEnumerable <LogRowKey>, ExpressionParser.ParseResult) ParseExpression(IItemDatabase database, LogRowKey source) { ExpressionParser.ParseResult parseResult = ExpressionParser.ParseExpression(source.Data.User); if (parseResult != null) { IEnumerable <string> triggerItems = ExpressionParser.FindItems(parseResult, database.Exists).Distinct(); return(database.FindClosestTriggerKeys(source.UniqueId, source.Data.CycleIndex, triggerItems), parseResult); } return(new LogRowKey[0], parseResult); }