private void createCompositeComponentOperationTask(RequestBrokerState state) { if (isRemoveOperation(state)) { createCompositeComponentRemovalTask(state); } else { QueryTask compositeQueryTask = QueryUtil.buildQuery(CompositeComponent.class, true); QueryUtil.addExpandOption(compositeQueryTask); QueryUtil.addListValueClause(compositeQueryTask, CompositeComponent.FIELD_NAME_SELF_LINK, state.resourceLinks); Set<String> componentLinks = new HashSet<>(); new ServiceDocumentQuery<>(getHost(), CompositeComponent.class) .query(compositeQueryTask, (r) -> { if (r.hasException()) { logSevere("Failed to create operation task for %s - %s", r.getDocumentSelfLink(), Utils.toString(r.getException())); } else if (r.hasResult()) { componentLinks.addAll(r.getResult().componentLinks); } else { if (componentLinks.isEmpty()) { logSevere("Failed to create operation task - composite component's" + " container links are empty"); } state.resourceLinks = componentLinks; state.resourceType = ResourceType.CONTAINER_TYPE.getName(); createContainerOperationTasks(state); } }); } }