private void addNewVehicle() { bool success = false; List <string> supportedVehicles = m_Alocator.SupportedVehicles; Type vehichleType = m_UI.GetVehicleTypeFromUser(supportedVehicles); while (!success) { try { List <string> vehiclesCommonData = m_UI.GetVehicleCommonData(); ClientCard NewClientCard = m_Alocator.CreateNewClientCard(vehichleType, vehiclesCommonData); m_UI.GetRelevantDataFromUser(NewClientCard.Vehicle); m_Garage.Add(NewClientCard); m_UI.VehicleAddedSuccessfully(vehichleType); success = true; } catch (Exception ex) { m_UI.Print(ex.Message); } } }