code: @FFDCIgnore(NamingException.class)
      private Object resolveJNDIObject(Object o, ServiceReference<?> ref, String[] objectClass, String bindingName, Hashtable<?, ?> envmt) throws Exception {
          if ("jndi".equals(ref.getProperty("osgi.jndi.service.origin")) || contains(objectClass, Reference.class.getName())) {
              try {
                  Context context = new InitialContext(envmt);
                  Name name = context.getNameParser("").parse(bindingName);
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "calling NamingManager.getObjectInstance", o, name, context, envmt);
                  }
                  return NamingManager.getObjectInstance(o, name, context, envmt);
              } catch (NamingException e) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "ignoring NamingException from NamingManager.getObjectInstance", e);
                  }
                  return null;
              }
          }
  
          return o;
      }
docs: Try to resolve an object obtained from the OSGi service registry similar
  to how /com.ibm.ws.jndi/ implements the default namespace.
  
  @return the object instance, or null if an object could not be found