private static Set<Pair<String, String>> generateHadoopProxyUserPropertyNames(Configuration configuration) {
    Set<Pair<String, String>> proxyUsers = new HashSet<>();
    Map<String, Map<String, String>> existingProperties = configuration.getFullProperties();
    for (Pair<String, String> userProp : PROPERTIES_FOR_HADOOP_PROXYUSER) {
      String configType = userProp.getLeft();
      String property = userProp.getRight();
      Map<String, String> configs = existingProperties.get(configType);
      if (configs != null) {
        String user = configs.get(property);
        if (!Strings.isNullOrEmpty(user)) {
          proxyUsers.add(Pair.of(configType, String.format(HADOOP_PROXYUSER_HOSTS_FORMAT, user)));
          proxyUsers.add(Pair.of(configType, String.format(HADOOP_PROXYUSER_GROUPS_FORMAT, user)));
        }
      }
    }

    return proxyUsers;
  }
Generates property names of the format "hadoop.proxyuser.*" based on actual usernames defined in {@code configuration}.
Eg. if "hive-env" defined "hive_user": "cstm-hive", then a generated property name would be "hadoop_proxyuser_cstm-hive_hosts"
@return set of hadoop proxyuser property names, paired with the name of the config type the username is defined in
        (the config type is needed for filtering later)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java