@Override public void openDepositAccount(double amount, int period, Bank myBank) throws NotEnoughMoneyException, UnknownProductException { if (amount < this.amountOfMoney) { if (this.myDeposits.isEmpty()) { this.myDeposits.add(Deposit.makeNewDeposit(period, amount)); myBank.addDeposit(myDeposits.get(0)); } else { for (int i = 0; i < this.myDeposits.size(); i++) { if (this.myDeposits.get(i).getPeriod() == period) { myBank.addFunds(amount); myDeposits.get(i).setEffective(myDeposits.get(i).getEffective() + amount); break; } else { Deposit newDeposit = Deposit.makeNewDeposit(period, amount); this.myDeposits.add(newDeposit); myBank.addDeposit(newDeposit); } } } this.setAmountOfMoney(this.getAmountOfMoney() - amount); } else { throw new NotEnoughMoneyException("We kindly ask you to leave the building."); } }