public static Future<MasterDomainControllerClient> install(final ServiceTarget serviceTarget, final ModelController controller, final ExtensionRegistry extensionRegistry,
final LocalHostControllerInfo localHostControllerInfo, final ProductConfig productConfig,
final String securityRealm, final RemoteFileRepository remoteFileRepository,
final IgnoredDomainResourceRegistry ignoredDomainResourceRegistry) {
RemoteDomainConnectionService service = new RemoteDomainConnectionService(controller, extensionRegistry, localHostControllerInfo,
productConfig, remoteFileRepository, ignoredDomainResourceRegistry);
ServiceBuilder<MasterDomainControllerClient> builder = serviceTarget.addService(MasterDomainControllerClient.SERVICE_NAME, service)
.addDependency(ManagementRemotingServices.MANAGEMENT_ENDPOINT, Endpoint.class, service.endpointInjector)
.setInitialMode(ServiceController.Mode.ACTIVE);
if (securityRealm != null) {
ServiceName realmName = SecurityRealmService.BASE_SERVICE_NAME.append(securityRealm);
builder.addDependency(realmName, SecurityRealm.class, service.securityRealmInjector);
}
builder.install();
return service.futureClient;
}