public Learner GetLearner(long ukprn, string learnerIdentifier) { var learnerUln = Learners.FirstOrDefault(l => l.LearnerIdentifier == learnerIdentifier)?.Uln; var learner = Learners.FirstOrDefault(l => l.LearnerIdentifier == learnerIdentifier && l.Ukprn == ukprn); if (learner == null) { learner = GenerateLearner(ukprn, learnerUln ?? 0); learner.LearnerIdentifier = learnerIdentifier; Learners.Add(learner); } return(learner); }