public List <Coin> ChooseCoinsToDeposit() { List <Coin> deposit = null; bool input = true; while (input) { bool success = Int32.TryParse(UserInterface.DisplayCoinSelection(), out int coinChoice); Console.Clear(); if (success && coinChoice > 0 && coinChoice < 5) { if (wallet.ContainsCoin(coinChoice)) { wallet.RemoveCoin(coinChoice); deposit = DepositSingleCoin(coinChoice, deposit); } else { UserInterface.NoCoinMessage(coinChoice); } } else if (coinChoice == 5) { if (deposit != null) { input = false; } } else if (coinChoice == 6) { if (deposit != null) { wallet.AcceptCoins(deposit); deposit.Clear(); } } UserInterface.WelcomeMessage(); UserInterface.DisplayValue("deposited", deposit); } return(deposit); }