Buggy code:
public final class RemoteDeployer implements Deployer { private static final Logger LOGGER = Logger . getLogger ( RemoteDeployer . class ) ; private static final int DEFAULT_PORT = 9990 ; private static final String JBWS_DEPLOYER_HOST = "jbossws.deployer.host" ; private static final String JBWS_DEPLOYER_PORT = "jbossws.deployer.port" ; private static final String JBWS_DEPLOYER_PROTOCOL = "jbossws.deployer.protocol" ; private static final String JBWS_DEPLOYER_AUTH_USER = "jbossws.deployer.authentication.username" ; private static final String JBWS_DEPLOYER_AUTH_PWD = "jbossws.deployer.authentication.password" ; private static final String JBWS_DEPLOYER_HTTPS_LISTENER_NAME = "jbws-test-https-listener" ; private static final String JBWS_DEPLOYER_HTTPS_LISTENER_REALM_NAME = "jbws-test-https-realm" ; private static final CallbackHandler callbackHandler = RemoteDeployer . getCallbackHandler ( ) ; private static final int TIMEOUT = 60000 ; private static InetAddress address ; private static Integer port ; private static String protocol ; private final Map < URL , String > url2Id = new HashMap < URL , String > ( ) ; private final Map < String , Integer > securityDomainUsers = new HashMap < String , Integer > ( 1 ) ; private final Map < String , Integer > archiveCounters = new HashMap < String , Integer > ( ) ; private final Semaphore httpsConnSemaphore = new Semaphore ( 1 ) ; private static final String SERVER_IDENTITY_SSL = ( ( ( SERVER_IDENTITY ) + "." ) + ( SSL ) ) + "." ; private static final String AUTHENTICATION_TRUSTORE = ( ( ( AUTHENTICATION ) + "." ) + ( TRUSTSTORE ) ) + "." ; @ Override public void deploy ( final URL archiveURL ) throws Exception { } @ Override public void undeploy ( final URL archiveURL ) throws Exception { } private void executeDeploymentPlan ( final DeploymentPlan plan , final DeploymentAction deployAction , final ModelControllerClient client , final ServerDeploymentManager deploymentManager ) throws Exception { } public String getServerVersion ( ) throws Exception { } @ Override public void addSecurityDomain ( String name , Map < String , String > authenticationOptions ) throws Exception { } @ Override public void removeSecurityDomain ( String name ) throws Exception { } public void addHttpsConnector ( Map < String , String > options ) throws Exception { final Map < String , String > sslOptionsMap = new HashMap < String , String > ( ) ; final Map < String , String > truststoreOptionsMap = new HashMap < String , String > ( ) ; if ( options != null ) { for ( final Map . Entry < String , String > entry : options . entrySet ( ) ) { final String k = entry . getKey ( ) ; if ( k . startsWith ( RemoteDeployer . SERVER_IDENTITY_SSL ) ) { final String key = k . substring ( RemoteDeployer . SERVER_IDENTITY_SSL . length ( ) ) ; sslOptionsMap . put ( key , entry . getValue ( ) ) ; } else if ( k . startsWith ( RemoteDeployer . AUTHENTICATION_TRUSTORE ) ) { final String key = k . substring ( RemoteDeployer . AUTHENTICATION_TRUSTORE . length ( ) ) ; truststoreOptionsMap . put ( key , entry . getValue ( ) ) ; } } } httpsConnSemaphore . acquire ( ) ; try { RemoteDeployer . addSecurityRealm ( RemoteDeployer . JBWS_DEPLOYER_HTTPS_LISTENER_REALM_NAME , sslOptionsMap , truststoreOptionsMap ) ; final ModelNode composite = Util . getEmptyOperation ( COMPOSITE , new ModelNode ( ) ) ; final ModelNode steps = composite . get ( STEPS ) ; ModelNode op = RemoteDeployer . createOpNode ( ( "subsystem=undertow//server=default-server//https-listener=" + ( RemoteDeployer . JBWS_DEPLOYER_HTTPS_LISTENER_NAME ) ) , "add" ) ; op . get ( "socket-binding" ) . set ( "https" ) ; op . get ( "security-realm" ) . set ( RemoteDeployer . JBWS_DEPLOYER_HTTPS_LISTENER_REALM_NAME ) ; final String verifyClient = "verify-client" ; <START_BUG> if ( options . containsKey ( verifyClient ) ) { <END_BUG> op . get ( verifyClient ) . set ( options . get ( verifyClient ) ) ; } steps . add ( op ) ; RemoteDeployer . applyUpdate ( composite ) ; } catch ( Exception e ) { httpsConnSemaphore . release ( ) ; throw e ; } } private static void addSecurityRealm ( String realm , Map < String , String > sslOptions , Map < String , String > truststoreOptions ) throws Exception { } public void removeHttpsConnector ( ) throws Exception { } private static void applyUpdates ( final List < ModelNode > updates ) throws Exception { } private static ModelNode applyUpdate ( final ModelNode update ) throws Exception { } private static void checkResult ( final ModelNode result ) throws Exception { } private static CallbackHandler getCallbackHandler ( ) { } public static ModelNode createOpNode ( String address , String operation ) { } private static String getSystemProperty ( final String name , final String defaultValue ) { } private static ModelControllerClient newModelControllerClient ( ) throws Exception { } private static ServerDeploymentManager newDeploymentManager ( ModelControllerClient client ) throws Exception { } }

Fix:
if ( ( options != null ) && ( options . containsKey ( verifyClient ) ) ) {