// use a BindInfo to build the referenceFactoryService's service name.
// if the CF is in a java:app/ or java:module/ namespace, we need the whole bindInfo's binder service name
// to distinguish CFs with same name in different application (or module).
final ContextNames.BindInfo bindInfo = getBindInfo(jndi);
final AdminObjectReferenceFactoryService referenceFactoryService = new AdminObjectReferenceFactoryService();
final ServiceName referenceFactoryServiceName = AdminObjectReferenceFactoryService.SERVICE_NAME_BASE.append(bindInfo.getBinderServiceName());
serviceTarget.addService(referenceFactoryServiceName, referenceFactoryService)
.addDependency(adminObjectServiceName, Object.class, referenceFactoryService.getAdminObjectInjector())
.setInitialMode(ServiceController.Mode.ACTIVE).install();
if (isCreateBinderService()) {
final BinderService binderService = new BinderService(bindInfo.getBindName());
final ServiceName binderServiceName = bindInfo.getBinderServiceName();