docs: @Override
      public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception
      {
  
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
          {
              Tr.entry(tc, "getObjectInstance" + Util.identity(obj));
          }
  
          BeanManager bm = null;
  
          if (obj instanceof javax.naming.Reference) {
              javax.naming.Reference objRef = (javax.naming.Reference) obj;
              String factoryClassName = objRef.getFactoryClassName();
              if (this.getClass().getName().equals(factoryClassName)) {
                  CDIService cdiService = getCDIService();
                  bm = cdiService.getCurrentBeanManager();
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
          {
              Tr.exit(tc, "getObjectInstance", bm);
          }
  
          return bm;
      }