Buggy code:
Collection < ServiceController < ? > > installRuntimeServices ( OperationContext context , ModelNode operation , ModelNode containerModel , ModelNode cacheModel , ServiceVerificationHandler verificationHandler ) throws OperationFailedException { } void removeRuntimeServices ( OperationContext context , ModelNode operation , ModelNode containerModel , ModelNode cacheModel ) throws OperationFailedException { } protected PathAddress getCacheAddressFromOperation ( ModelNode operation ) { } protected PathAddress getCacheContainerAddressFromOperation ( ModelNode operation ) { } ServiceController < ? > installCacheConfigurationService ( ServiceTarget target , String containerName , String cacheName , boolean defaultCache , ModuleIdentifier moduleId , ConfigurationBuilder builder , CacheAdd . CacheConfigurationDependencies cacheConfigurationDependencies , List < CacheAdd . Dependency < ? > > dependencies , ServiceVerificationHandler verificationHandler ) { } ServiceController < ? > installCacheService ( ServiceTarget target , String containerName , String cacheName , boolean defaultCache , ServiceController . Mode initialMode , CacheAdd . CacheDependencies cacheDependencies , ServiceVerificationHandler verificationHandler ) { } @ SuppressWarnings ( "rawtypes" ) ServiceController < ? > installJndiService ( ServiceTarget target , String containerName , String cacheName , boolean defaultCache , String jndiName , ServiceVerificationHandler verificationHandler ) { } private static JndiName createJndiName ( String container , String cache ) { } private static BindInfo createCacheBinding ( JndiName name ) { } private static < T > void addDependency ( ServiceBuilder < ? > builder , CacheAdd . Dependency < T > dependency ) { } void populate ( ModelNode fromModel , ModelNode toModel ) throws OperationFailedException { } void processModelNode ( OperationContext context , String containerName , ModelNode cache , ConfigurationBuilder builder , CacheAdd . CacheConfigurationDependencies cacheConfigurationDependencies , CacheAdd . CacheDependencies cacheDependencies , List < CacheAdd . Dependency < ? > > dependencies ) throws OperationFailedException { } private static String findStoreKey ( ModelNode cache ) { } private static ModelNode getStoreModelNode ( ModelNode cache ) { } private StoreConfigurationBuilder < ? , ? > buildCacheStore ( OperationContext context , PersistenceConfigurationBuilder persistenceBuilder , String containerName , ModelNode store , String storeKey , List < CacheAdd . Dependency < ? > > dependencies ) throws OperationFailedException { ModelNode resolvedValue = null ; if ( storeKey . equals ( FILE_STORE ) ) { final SingleFileStoreConfigurationBuilder builder = persistenceBuilder . addSingleFileStore ( ) ; final String path = ( ( resolvedValue = PATH . resolveModelAttribute ( context , store ) ) . isDefined ( ) ) ? resolvedValue . asString ( ) : ( ( InfinispanExtension . SUBSYSTEM_NAME ) + ( File . separatorChar ) ) + containerName ; final String relativeTo = ( ( resolvedValue = RELATIVE_TO . resolveModelAttribute ( context , store ) ) . isDefined ( ) ) ? resolvedValue . asString ( ) : ServerEnvironment . SERVER_DATA_DIR ; Injector < PathManager > injector = new Injector < PathManager > ( ) { private volatile Handle callbackHandle ; @ Override public void inject ( PathManager value ) { this . callbackHandle = value . registerCallback ( relativeTo , ReloadServerCallback . create ( ) , UPDATED , REMOVED ) ; builder . location ( value . resolveRelativePathEntry ( path , relativeTo ) ) ; } @ Override public void uninject ( ) { if ( ( this . callbackHandle ) != null ) { this . callbackHandle . remove ( ) ; } } } ; dependencies . add ( new CacheAdd . Dependency ( PathManagerService . SERVICE_NAME , PathManager . class , injector ) ) ; return builder ; } else if ( ( ( storeKey . equals ( STRING_KEYED_JDBC_STORE ) ) || ( storeKey . equals ( BINARY_KEYED_JDBC_STORE ) ) ) || ( storeKey . equals ( MIXED_KEYED_JDBC_STORE ) ) ) { ModelNode dialect = DIALECT . resolveModelAttribute ( context , store ) ; DatabaseType type = ( dialect . isDefined ( ) ) ? DatabaseType . valueOf ( dialect . asString ( ) ) : null ; AbstractJdbcStoreConfigurationBuilder < ? , ? > builder = CacheAdd . buildJdbcStore ( persistenceBuilder , context , store , type ) ; String datasource = DATA_SOURCE . resolveModelAttribute ( context , store ) . asString ( ) ; dependencies . add ( new CacheAdd . Dependency ( JBOSS . append ( "data-source" , datasource ) ) ) ; builder . dataSource ( ) . jndiUrl ( datasource ) ; return builder ; } else if ( storeKey . equals ( REMOTE_STORE ) ) { final RemoteStoreConfigurationBuilder builder = persistenceBuilder . addStore ( RemoteStoreConfigurationBuilder . class ) ; for ( ModelNode server : store . require ( REMOTE_SERVERS ) . asList ( ) ) { String outboundSocketBinding = server . get ( OUTBOUND_SOCKET_BINDING ) . asString ( ) ; Injector < OutboundSocketBinding > injector = new Injector < OutboundSocketBinding > ( ) { @ Override public void inject ( OutboundSocketBinding value ) { try { <START_BUG> builder . addServer ( ) . host ( value . getDestinationAddress ( ) . getHostAddress ( ) ) . port ( value . getDestinationPort ( ) ) ; <END_BUG> } catch ( UnknownHostException e ) { throw MESSAGES . failedToInjectSocketBinding ( e , value ) ; } } @ Override public void uninject ( ) { } } ; dependencies . add ( new CacheAdd . Dependency ( OUTBOUND_SOCKET_BINDING_BASE_SERVICE_NAME . append ( outboundSocketBinding ) , OutboundSocketBinding . class , injector ) ) ; } if ( store . hasDefined ( CACHE ) ) { builder . remoteCacheName ( store . get ( CACHE ) . asString ( ) ) ; } if ( store . hasDefined ( SOCKET_TIMEOUT ) ) { builder . socketTimeout ( store . require ( SOCKET_TIMEOUT ) . asLong ( ) ) ; } if ( store . hasDefined ( TCP_NO_DELAY ) ) { builder . tcpNoDelay ( store . require ( TCP_NO_DELAY ) . asBoolean ( ) ) ; } return builder ; } else { String className = store . require ( CLASS ) . asString ( ) ; try { return persistenceBuilder . addStore ( StoreConfigurationBuilder . class . getClassLoader ( ) . loadClass ( className ) . asSubclass ( StoreConfigurationBuilder . class ) ) ; }

Fix:
builder . addServer ( ) . host ( value . getResolvedDestinationAddress ( ) . getHostAddress ( ) ) . port ( value . getDestinationPort ( ) ) ;