public Car Fetch(ParkingTicket parkingTicket) { Printer printer = new Printer(); if (parkingTicket == null) { printer.PrintMissingParkingTicketErrorMessage(); return(null); } if (!IsProvidedParkingTicket(parkingTicket) || parkingTicket.GetIsUsed()) { printer.PrintWrongParkingTicketErrorMessage(); return(null); } Car fetchedCar = parkingTicket.GetParkingLot().Fetch(parkingTicket); if (fetchedCar != null) { parkingTicket.UseTicket(); } UpdateProvidedParkingTicket(parkingTicket); return(fetchedCar); }