code: @ShellMethod(key = "validate-ldap", value = "Test connections to an LDAP server to verify connectivity, SSL, etc")
      public static void validateLdap(
          @ShellOption(value = {"url"},
              help = "LDAP URL to test, comma-separated.") final String url,
          @ShellOption(value = {"bindDn"},
              help = "bindDn to use when testing the LDAP server") final String bindDn,
          @ShellOption(value = {"bindCredential"},
              help = "bindCredential to use when testing the LDAP server") final String bindCredential,
          @ShellOption(value = {"baseDn"},
              help = "baseDn to use when testing the LDAP server, searching for accounts (i.e. OU=some,DC=org,DC=edu)") final String baseDn,
          @ShellOption(value = {"searchFilter"},
              help = "Filter to use when searching for accounts (i.e. (&(objectClass=*) (sAMAccountName=user)))") final String searchFilter,
          @ShellOption(value = {"userPassword"},
              help = "Password for the user found in the search result, to attempt authentication") final String userPassword,
          @ShellOption(value = {"userAttributes"},
              help = "User attributes, comma-separated, to fetch for the user found in the search result") final String userAttributes) {
          try {
              connect(url, bindDn, bindCredential, baseDn, searchFilter, userAttributes, userPassword);
          } catch (final Exception e) {
              LOGGER.error(e.getMessage(), e);
          }
      }
docs: Validate endpoint.
  
  @param url            the url
  @param bindDn         the bind dn
  @param bindCredential the bind credential
  @param baseDn         the base dn
  @param searchFilter   the search filter
  @param userPassword   the user password
  @param userAttributes the user attributes