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);
        }