private Set<ClusterRequest> createConfigRequestsForExistingServices(AddServiceInfo request, Set<String> existingServices) {
    Set<String> configTypesInRequest = ImmutableSet.copyOf(
      Sets.difference(
        Sets.union(
          request.getConfig().getProperties().keySet(),
          request.getConfig().getAttributes().keySet()),
        ImmutableSet.of(ConfigHelper.CLUSTER_ENV))
    );

    Map<String, Map<String, String>> fullProperties = request.getConfig().getFullProperties();
    Map<String, Map<String, Map<String, String>>> fullAttributes = request.getConfig().getFullAttributes();

    Set<ClusterRequest> clusterRequests = createConfigRequestsForServices(
      existingServices,
      configTypesInRequest::contains,
      request, fullProperties, fullAttributes
    );

    if (request.getConfig().getProperties().containsKey(ConfigHelper.CLUSTER_ENV)) {
      Optional<ClusterRequest> clusterEnvRequest = createConfigRequestForConfigTypes(Stream.of(ConfigHelper.CLUSTER_ENV),
        request, fullProperties, fullAttributes);
      clusterEnvRequest.ifPresent(clusterRequests::add);
    }

    return clusterRequests;
  }
@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