public DriverModel GetDriver(int id) { Guard.InRange(id > 0, "id"); DriverModel driver; if(!DriversById.TryGetValue(id, out driver)) { driver = new DriverModel(id); DriversById.Add(id, driver); InnerDrivers.Add(driver); } return driver; }