private void saveIncomingChildren(ArrayList<String> idsToDownload) throws IOException, JSONException { for (String idToDownload : idsToDownload) { Child incomingChild = childService.getChild(idToDownload); if (isCancelled()) { break; } try { incomingChild.setSynced(true); if (childRepository.exists(incomingChild.getUniqueId())) { childRepository.update(incomingChild); } else { childRepository.createOrUpdate(incomingChild); } childService.setPhoto(incomingChild); } catch (Exception e) { Log.e("SyncAllDataTask", "Error syncing child", e); throw new RuntimeException(e); } } }