Buggy code:
private static final String DN_JMX_CONNECTION_HANDLER = "cn=JMX<seq2seq4repair_space>Connection<seq2seq4repair_space>Handler," + ( DN_CONNHANDLER_BASE ) ; public static final String DN_ROOT_USER = "cn=Directory<seq2seq4repair_space>Manager," + ( DN_ROOT_DN_CONFIG_BASE ) ; public static final String DN_CRYPTO_MANAGER = "cn=Crypto<seq2seq4repair_space>Manager,cn=config" ; public static final String DN_DIGEST_MD5_SASL_MECHANISM = "cn=DIGEST-MD5,cn=SASL<seq2seq4repair_space>Mechanisms,cn=config" ; private static final class DefaultIndex { private final String name ; private final boolean shouldCreateSubstringIndex ; private DefaultIndex ( final String name , final boolean substringIndex ) { } private static ConfigureDS . DefaultIndex withEqualityAndSubstring ( final String name ) { } private static ConfigureDS . DefaultIndex withEquality ( final String name ) { } } private static final ConfigureDS . DefaultIndex [ ] DEFAULT_INDEXES = new ConfigureDS . DefaultIndex [ ] { ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "cn" ) , ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "givenName" ) , ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "mail" ) , ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "member" ) , ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "sn" ) , ConfigureDS . DefaultIndex . withEqualityAndSubstring ( "telephoneNumber" ) , ConfigureDS . DefaultIndex . withEquality ( "uid" ) , ConfigureDS . DefaultIndex . withEquality ( "uniqueMember" ) } ; private static int SUCCESS = 0 ; private static int ERROR = 1 ; public static void main ( String [ ] args ) { } public static int configMain ( final String [ ] args , final OutputStream outStream , final OutputStream errStream ) { } private final String [ ] arguments ; private final PrintStream out ; private final PrintStream err ; private final ArgumentParser argParser ; private BooleanArgument showUsage ; private BooleanArgument enableStartTLS ; private FileBasedArgument rootPasswordFile ; private StringArgument hostName ; private IntegerArgument ldapPort ; private IntegerArgument adminConnectorPort ; private IntegerArgument ldapsPort ; private IntegerArgument jmxPort ; private StringArgument baseDNString ; private StringArgument configClass ; private StringArgument configFile ; private StringArgument rootDNString ; private StringArgument rootPassword ; private StringArgument keyManagerProviderDN ; private StringArgument trustManagerProviderDN ; private StringArgument certNickName ; private StringArgument keyManagerPath ; private StringArgument serverRoot ; private StringArgument backendType ; private final String serverLockFileName = LockFileManager . getServerLockFileName ( ) ; private final StringBuilder failureReason = new StringBuilder ( ) ; private ConfigHandler < ? > configHandler ; private ConfigureDS ( final String [ ] args , final OutputStream outStream , final OutputStream errStream ) { } private int run ( ) { } private void initializeArguments ( ) throws ConfigureDS . ConfigureDSException { } private int parseArguments ( ) throws ConfigureDS . ConfigureDSException { } private void checkArgumentsConsistency ( ) throws ConfigureDS . ConfigureDSException { } private void checkPortArguments ( ) throws ConfigureDS . ConfigureDSException { } private void initializeDirectoryServer ( ) throws ConfigureDS . ConfigureDSException { } private void tryAcquireExclusiveLocks ( ) throws ConfigureDS . ConfigureDSException { } private LinkedList < DN > parseProvidedBaseDNs ( ) throws ConfigureDS . ConfigureDSException { } private org . opends . server . types . DN parseRootDN ( ) throws ConfigureDS . ConfigureDSException { } private String parseRootDNPassword ( ) throws ConfigureDS . ConfigureDSException { } private void checkManagerProvider ( final Argument arg , final String jckesDN , final String ldifEntry , final boolean isKeyManager ) throws ConfigureDS . ConfigureDSException { } @ SuppressWarnings ( "unchecked" ) private void updateBaseDNs ( final List < DN > baseDNs ) throws ConfigureDS . ConfigureDSException { if ( ! ( baseDNs . isEmpty ( ) ) ) { final String backendTypeName = backendType . getValue ( ) ; final BackendTypeHelper backendTypeHelper = new BackendTypeHelper ( ) ; final ManagedObjectDefinition < ? , ? > backend = backendTypeHelper . retrieveBackendTypeFromName ( backendTypeName ) ; if ( backend == null ) { <START_BUG> throw new ConfigureDS . ConfigureDSException ( ERR_CONFIGDS_BACKEND_TYPE_UNKNOWN . get ( backendTypeName , backendTypeHelper . getBackendTypeNames ( ) ) ) ; <END_BUG> } try { final File ldifConfigFile = Installation . getLocal ( ) . getCurrentConfigurationFile ( ) ; final List < IOException > exceptions = new LinkedList < IOException > ( ) ; final ManagementContext context = LDAPManagementContext . newLDIFManagementContext ( ldifConfigFile , LDAPProfile . getInstance ( ) , exceptions ) ; createBackend ( context . getRootConfiguration ( ) , baseDNs , ( ( ManagedObjectDefinition < ? extends BackendCfgClient , ? extends BackendCfg > ) ( backend ) ) ) ; context . close ( ) ; if ( ! ( exceptions . isEmpty ( ) ) ) { throw exceptions . get ( 0 ) ; } } catch ( final Exception e ) { throw new ConfigureDS . ConfigureDSException ( ERR_CONFIGDS_SET_BACKEND_TYPE . get ( backendTypeName , e . getMessage ( ) ) ) ; } } } private void createBackend ( final RootCfgClient rootConfiguration , final List < DN > baseDNs , final ManagedObjectDefinition < ? extends BackendCfgClient , ? extends BackendCfg > backend ) throws Exception { } private void addBackendIndexes ( PluggableBackendCfgClient backendCfgClient ) throws Exception { } @ RemoveOnceLocalDBBackendIsPluggable private void addJEIndexes ( final LocalDBBackendCfgClient jeBackendCfgClient ) throws Exception { } private void updateLdapPort ( ) throws ConfigureDS . ConfigureDSException { } private void updateAdminConnectorPort ( ) throws ConfigureDS . ConfigureDSException { } private void updateLdapSecurePort ( ) throws ConfigureDS . ConfigureDSException { } private void updateJMXport ( ) throws ConfigureDS . ConfigureDSException { } private void updateStartTLS ( ) throws ConfigureDS . ConfigureDSException { } private void updateKeyManager ( ) throws ConfigureDS . ConfigureDSException { } private void putKeyManagerConfigAttribute ( final Argument arg , final String attributeDN ) throws ConfigureDS . ConfigureDSException { } private void updateTrustManager ( ) throws ConfigureDS . ConfigureDSException { } private void putTrustManagerAttribute ( final Argument arg , final String attributeDN ) throws ConfigureDS . ConfigureDSException { } private void updateCertNicknameEntry ( final Argument arg , final String attributeDN , final StringConfigAttribute configAttr ) throws ConfigureDS . ConfigureDSException { } private void removeSSLCertNicknameAttribute ( final String attributeDN ) throws ConfigureDS . ConfigureDSException { } private void updateRootUser ( final org . opends . server . types . DN rootDN , final String rootPW ) throws ConfigureDS . ConfigureDSException { } private void addFQDNDigestMD5 ( ) throws ConfigureDS . ConfigureDSException { }

Fix:
throw new ConfigureDS . ConfigureDSException ( ERR_CONFIGDS_BACKEND_TYPE_UNKNOWN . get ( backendTypeName , backendTypeHelper . getPrintableBackendTypeNames ( ) ) ) ;