docs: protected Object processJavaColon(EJBBinding binding, JavaColonNamespace jndiType, String lookupName) throws NamingException {
  
          Object instance = null;
  
          if (binding == null) {
              return null;
          }
  
          // Home and remote interfaces are not supported in Liberty
          if (binding.isHome() && !homeRuntime) {
              throwCannotInstanciateUnsupported(binding, jndiType, lookupName,
                                                "JNDI_CANNOT_INSTANTIATE_HOME_CNTR4008E");
          }
  
          if (!binding.isLocal && !remoteRuntime) {
              throwCannotInstanciateUnsupported(binding, jndiType, lookupName,
                                                "JNDI_CANNOT_INSTANTIATE_REMOTE_CNTR4009E");
          }
  
          try {
              EJSHome home = binding.homeRecord.getHomeAndInitialize();
  
              if (binding.isHome()) {
                  EJSWrapperCommon wc = home.getWrapper();
                  if (binding.isLocal) {
                      instance = wc.getLocalObject();
                  } else {
                      instance = home.getContainer().getEJBRuntime().getRemoteReference(wc.getRemoteWrapper());
                  }
              } else {
                  // Use interface name to create the business object
                  if (binding.isLocal) {
                      instance = home.createLocalBusinessObject(binding.interfaceIndex, null);
                  } else {
                      instance = home.createRemoteBusinessObject(binding.interfaceIndex, null);
                  }
              }
          } catch (Throwable t) {
              throwCannotInstanciateObjectException(binding,
                                                    jndiType,
                                                    lookupName,
                                                    t);
          }
  
          return instance;
      }