new AsyncTask() { @Override protected Order doInBackground(Void... voids) { try { Order mOrder = orderConnector.createOrder(new Order()); orderConnector.updateOrder(mOrder); String orderId = mOrder.getId(); LineItem lineItem = new LineItem(); lineItem.setName("Pizza 001"); lineItem.setPrice(Long.valueOf(150)); lineItem.setIsRevenue(true); orderConnector.addCustomLineItem(orderId, lineItem, true); lineItem = new LineItem(); lineItem.setName("Pizza 002"); lineItem.setPrice(Long.valueOf(200)); lineItem.setIsRevenue(true); orderConnector.addCustomLineItem(orderId, lineItem, true); mOrder = orderConnector.updateOrder(mOrder); return mOrder; } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Order order) { super.onPostExecute(order); if (order != null) { mainOrder = order; new AsyncTask() { @Override protected Order doInBackground(Void... voids) { try { List lineItemList = mainOrder.getLineItems(); List lineItemModification = new ArrayList<>(); for (int i = 0; i < lineItemList.size(); i++) { Modifier modifier = new Modifier(); modifier.setName("Modifier 01"); modifier.setPrice(Long.valueOf(125)); mainOrder = orderConnector.addLineItemModification(mainOrder.getId(), lineItemList.get(i).getId(), modifier); } orderConnector.updateOrder(mainOrder); } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(); } } }.execute();