docs: private <T> void bindObjectToJavaNameSpaces(NameSpaceBinder<T> binder,
                                                  T bindingObject,
                                                  HomeRecord hr,
                                                  boolean singleGlobalInterface,
                                                  String interfaceName,
                                                  int interfaceIndex,
                                                  boolean local) throws NamingException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "bindObjectToJavaNameSpaces");
  
          BeanMetaData bmd = hr.getBeanMetaData();
          J2EEName j2eeName = bmd.j2eeName;
          String beanName = j2eeName.getComponent();
  
          List<String> jndiNames = new ArrayList<String>();
          if (hr.bindInterfaceNames()) {
              jndiNames.add(beanName + '!' + interfaceName);
          }
          if (singleGlobalInterface) {
              jndiNames.add(beanName);
          }
  
          if (isTraceOn && tc.isDebugEnabled())
              Tr.debug(tc, "names=" + jndiNames + ", global=" + hr.bindToJavaGlobalNameSpace());
  
          // d660700 - Bind to java:global if necessary.
          if (hr.bindToJavaGlobalNameSpace()) {
              if (bindingObject != null) {
                  sendBindingMessage(bmd, beanName, interfaceName, interfaceIndex, local);
              }
  
              for (String jndiName : jndiNames) {
                  if (bindingObject != null) {
                      binder.bindJavaGlobal(jndiName, bindingObject); // F69147.2
                  }
                  hr.ivJavaGlobalBindings.add(jndiName);
              }
          }
  
          // d660700 - Bind to java:app.
          for (String jndiName : jndiNames) {
              if (bindingObject != null) {
                  binder.bindJavaApp(jndiName, bindingObject); // F69147.2
              }
              hr.ivJavaAppBindings.add(jndiName);
          }
  
          // d660700 - Bind to java:module.
          if (bindingObject != null) {
              for (String jndiName : jndiNames) {
                  binder.bindJavaModule(jndiName, bindingObject); // F69147.2
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "bindObjectToJavaNameSpaces");
      }