private static Set<ClusterRequest> createConfigRequestsForServices(
    Set<String> services,
    java.util.function.Predicate<String> predicate,
    AddServiceInfo request,
    Map<String, Map<String, String>> fullProperties,
    Map<String, Map<String, Map<String, String>>> fullAttributes
  ) {
    return services.stream()
      .map(service -> createConfigRequestForConfigTypes(
        request.getStack().getConfigurationTypes(service).stream()
          .filter(predicate),
        request, fullProperties, fullAttributes
      ))
      .filter(Optional::isPresent)
      .map(Optional::get)
      .collect(toSet());
  }
@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