code: @Override
      public Object getObjectInstance(JavaColonNamespace namespace, String name) throws NamingException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "getObjectInstance (" + namespace + ", " + name + ")");
  
          Object instance = null;
  
          // If getInjectionBinding returns null, we do not immediately call
          // processDeferredReferenceData because we want to avoid that if
          // possible, and there might be another JavaColonNamingHelper that
          // can handle the name.  DeferredNonCompInjectionJavaColonHelper is
          // registered with a lower ranking, so it will be called after all
          // other JavaColonNamingHelper with default ranking.
          InjectionBinding<?> binding = getInjectionBinding(namespace, name);
          if (binding != null) {
              try {
                  instance = binding.getInjectionObject();
              } catch (Exception ex) {
                  NamingException nex = newCannotInstantiateObjectException(namespace.prefix() + name, ex);
                  if (isTraceOn && tc.isEntryEnabled())
                      Tr.exit(tc, "getObjectInstance : " + nex.toString(true));
                  throw nex;
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "getObjectInstance : " + Util.identity(instance));
  
          return instance;
      }
docs: {@inheritDoc}