private String determineCause(Throwable throwable) {
    if (throwable == null) {
      return null;
    } else {
      Throwable cause = throwable.getCause();
      if ((cause == null) || (cause == throwable)) {
        return throwable.getMessage();
      } else {
        String message = determineCause(cause);
        return (message == null) ? throwable.getMessage() : message;
      }
    }
  }
Gets the set of services for which the user declared  Ambari to enable LDAP integration.
<p>
If Ambari is not managing LDAP integration configuration for services the set of names will be empty.

@return a set of service names
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AmbariServerLDAPConfigurationHandler.java