@@ -0,0 +1,1028 @@
+package best.purchase;%0A%0Aimport best.purchase.interfaces.*;%0Aimport best.purchase.models.*;%0Aimport java.util.List;%0A%0Apublic class AsyncBuyingMachine implements BuyingMachine %7B%0A%0A    List%3CMerchant%3E merchants;%0A%0A    AsyncBuyingMachine(List%3CMerchant%3E merchants) %7B%0A        this.merchants = merchants;%0A    %7D%0A%0A    public List%3CMerchant%3E getMerchants() %7B%0A        return merchants;%0A    %7D%0A%0A    public int purchase(int quantity) %7B%0A%0A        int purchased = 0;%0A%0A        if (quantity == 0 %7C%7C merchants == null %7C%7C merchants.size() == 0) return 0;%0A%0A        //...%0A        //quote...%0A        //order...%0A        Order order;%0A        try %7B%0A            Quote quote = merchants.get(0).quote();%0A            order = new Order2015v1(quantity,quote); %0A        %7D catch (Exception e) %7B%0A            return 0;%0A        %7D%0A%0A        try %7B%0A            OrderResponse orderResponse = merchants.get(0).order(order);%0A            purchased = orderResponse.getQuantity();%0A        %7D catch (Exception e) %7B%0A            return 0;%0A        %7D%0A%0A        return purchased;%0A%0A    %7D%0A%0A%7D%0A%0A

add recovered BuyingMachine implementation