Buggy code:
public final class DomainControllerService implements Service < DomainController > { private static final Logger log = Logger . getLogger ( "org.jboss.as.domain.controller" ) ; private final ExtensibleConfigurationPersister configurationPersister ; private final DeploymentRepository deploymentRepository ; private final FileRepository localFileRepository ; private final InjectedValue < ScheduledExecutorService > scheduledExecutorService = new InjectedValue < ScheduledExecutorService > ( ) ; private final InjectedValue < MasterDomainControllerClient > masterDomainControllerClient = new InjectedValue < MasterDomainControllerClient > ( ) ; private final InjectedValue < LocalHostModel > hostController = new InjectedValue < LocalHostModel > ( ) ; private final InjectedValue < NetworkInterfaceBinding > mgmtInterface = new InjectedValue < NetworkInterfaceBinding > ( ) ; private final InjectedValue < HostRegistryService > hostRegistry = new InjectedValue < HostRegistryService > ( ) ; private final String localHostName ; private final boolean backupDomainFiles ; private final boolean useCachedDc ; private final int mgmtPort ; private final DomainModelImpl domainModel ; private DomainController controller ; public DomainControllerService ( final ExtensibleConfigurationPersister configurationPersister , final String localHostName , final int mgmtPort , final DeploymentRepository deploymentRepository , final FileRepository localFileRepository , final boolean backupDomainFiles , final boolean useCachedDc , final DomainModelImpl domainModel ) { } @ Override public synchronized void start ( final StartContext context ) throws StartException { } @ Override public synchronized void stop ( final StopContext context ) { } @ Override public synchronized DomainController getValue ( ) throws IllegalArgumentException , IllegalStateException { } public Injector < ScheduledExecutorService > getScheduledExecutorServiceInjector ( ) { } public Injector < LocalHostModel > getHostControllerServiceInjector ( ) { } public Injector < MasterDomainControllerClient > getMasterDomainControllerClientInjector ( ) { } public Injector < NetworkInterfaceBinding > getInterfaceInjector ( ) { } public InjectedValue < HostRegistryService > getHostRegistryInjector ( ) { } private DomainController startMasterDomainController ( ) throws StartException { } private DomainController startSlaveDomainController ( MasterDomainControllerClient masterClient ) throws StartException { } private DomainController startRemoteSlaveDomainController ( MasterDomainControllerClient masterClient ) throws StartException { FallbackRepository fileRepository = new FallbackRepository ( localFileRepository , masterClient . getRemoteFileRepository ( ) ) ; <START_BUG> domainModel . initialiseAsSlaveDC ( configurationPersister , deploymentRepository , localFileRepository , hostRegistry . getValue ( ) ) ; <END_BUG> final DomainControllerImpl controller = new DomainControllerImpl ( scheduledExecutorService . getValue ( ) , domainModel , localHostName , localFileRepository , masterClient , hostRegistry . getValue ( ) ) ; try { masterClient . register ( hostController . getValue ( ) . getName ( ) , mgmtInterface . getValue ( ) . getAddress ( ) , mgmtPort , controller ) ; } catch ( IllegalStateException e ) { return null ; } try { configurationPersister . store ( domainModel . getDomainModel ( ) ) ; } catch ( ConfigurationPersistenceException e ) { DomainControllerService . log . error ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>cache<seq2seq4repair_space>domain<seq2seq4repair_space>model" , e ) ; } return controller ; } private DomainController startLocalCopySlaveDomainController ( MasterDomainControllerClient masterClient ) throws StartException { } private void loadLocalDomainModel ( ) throws StartException { } private void backupDomainFiles ( ) { } private void copyFile ( File src , File dest ) throws IOException { } }

Fix:
domainModel . initialiseAsSlaveDC ( configurationPersister , deploymentRepository , fileRepository , hostRegistry . getValue ( ) ) ;