private static void updateResources(AddServiceInfo request, Set<Map<String, Object>> properties, Resource.Type resourceType, Predicate predicate, Map<String, String> requestInfo) {
    Request internalRequest = createRequest(properties, requestInfo, null);
    ResourceProvider rp = getClusterController().ensureResourceProvider(resourceType);
    try {
      rp.updateResources(internalRequest, predicate);
    } catch (UnsupportedPropertyException | SystemException | NoSuchParentResourceException | NoSuchResourceException e) {
      CHECK.wrapInUnchecked(e, RuntimeException::new, "Error updating resources %s for %s", resourceType, request);
    }
  }
@return {@code Optional} with the cluster's kerberos descriptor artifact if it exists, otherwise empty {@code Optional}
ambari-server/src/main/java/org/apache/ambari/server/topology/addservice/ResourceProviderAdapter.java