/**
         * This methods gets the vehicle type from the user
         */
        private VehicleBuilder.eVehicleType getVehicleType()
        {
            ConsoleUtils.ClearConsoleAndWrite("Pick a vehicle type:");
            ConsoleUtils.PrintEnum(typeof(VehicleBuilder.eVehicleType));
            string userInput = Console.ReadLine();

            return((VehicleBuilder.eVehicleType)ConsoleUtils.CheckEnumValue(typeof(VehicleBuilder.eVehicleType), userInput));
        }
        /**
         * This method updates the relevant vehicles information.
         * Returns the updates vehicle.
         */
        public Vehicle GetUniqueInfo(Vehicle i_Vehicle)
        {
            List <object> userInputAnswers = new List <object>();

            for (int i = 0; i < i_Vehicle.UniqueInfoList.Count; i++)
            {
                VehicleUniqueInfo information = i_Vehicle.UniqueInfoList[i];
                string            message     = (information.Type == typeof(bool))
                    ? "Please Enter y (yes) if {0} or n (no) if not."
                    : "Enter the {0}";
                ConsoleUtils.ClearConsoleAndWrite(string.Format(message, information.Message));
                if (information.Type.IsEnum)
                {
                    ConsoleUtils.PrintEnum(information.Type);
                }

                string userInput = Console.ReadLine();
                try
                {
                    checkUserInformationInput(userInput, information);
                    if (information.Type == typeof(bool))
                    {
                        userInputAnswers.Add(userInput.Equals("y"));
                    }
                    else
                    {
                        userInputAnswers.Add(userInput);
                    }
                }
                catch (FormatException fe)
                {
                    ConsoleUtils.ClearConsoleAndWrite(fe.Message);
                    ConsoleUtils.PressAnyKeyToContinue();
                    i--;
                }
            }

            i_Vehicle.UpdateUniqueFields(userInputAnswers);

            return(i_Vehicle);
        }