public static List<ProfileModel> GetAll() { lock (Profiles) { if (!Profiles.Any()) ReadProfiles(); // Return a new list, this'll make sure removing/updating the retrieved list doesn't // affect the datastore return Profiles.ToList(); } }