public void InsertCustomer(Customer newCustomer, int position) { newCustomer = (Customer)newCustomer.ShallowCopy(); newCustomer.Route = this; RouteList.Insert(position, newCustomer); ServiceBeginingTimes.Insert(position, 0.0); for (int i = position; i < RouteList.Count; ++i) { double newTime = NextServiceBeginTime(RouteList[i], RouteList[i - 1], ServiceBeginingTimes[i - 1]); ServiceBeginingTimes[i] = newTime; } UpdateId(); }