public List<Coin> substract(int value){
		int restOfValue = value;
		List<Coin> consumedCoin = new LinkedList<Coin>();
		while(restOfValue != 0){
			LinkedList<Coin> coin100List = (LinkedList<Coin>) this.coinGroup.get(Coin100JPY.class.getName());
			LinkedList<Coin> coin50List = (LinkedList<Coin>) this.coinGroup.get(Coin50JPY.class.getName());
			LinkedList<Coin> coin10List = (LinkedList<Coin>) this.coinGroup.get(Coin10JPY.class.getName());
			
			if(coin100List.size() > 0 && restOfValue / 100 >= 1 ){
				Coin coin = coin100List.pop();
				consumedCoin.add(coin);
				restOfValue = restOfValue - coin.getValue();
				continue;
			}else if(coin50List.size() > 0 && restOfValue / 50 >= 1){
				Coin coin = coin50List.pop();
				consumedCoin.add(coin);
				restOfValue = restOfValue - coin.getValue();
				continue;
			}else if(coin10List.size() > 0 && restOfValue / 10 >= 1){
				Coin coin = coin10List.pop();
				consumedCoin.add(coin);
				restOfValue = restOfValue - coin.getValue();
				continue;
			}
		}
		return consumedCoin;
	}