Why the extra list? Why not just return GetAuthorizationRuleCore(...).FirstOrDefault():