docs: @Override
      public Object lookup(String name)
      {
          // Note: this context method is allowed from all bean methods,
          //       except the constructor... which has not way to access
          //       the context.  Therefore, no 'state' checking needs
          //       to be performed... just validate the parameter.
          if (name == null)
              throw new IllegalArgumentException("null 'name' parameter.");
  
          Object result = null;
  
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "lookup: " + name);
  
          // Previously, this method used Naming for comp/env, which tolerated the
          // 'name' starting with 'java:comp/env/', but that is NOT part of the
          // name in our map.                                                d473811
          String lookupName = name;
          if (name.startsWith("java:comp/env/")) // F743-609 remove useless null check
          {
              lookupName = name.substring(14);
          }
  
          // -----------------------------------------------------------------------
          // Rather than perform a lookup using Naming, the InjectionBinding
          // that was created during populateJavaNameSpace will be located
          // and used to obtain/create the result object, just like it
          // would be done for injection.                                    d473811
          // -----------------------------------------------------------------------
  
          InjectionBinding<?> binding = home.beanMetaData.ivJavaColonCompEnvMap.get(lookupName);
  
          if (binding != null)
          {
              try
              {
                  result = binding.getInjectionObject();
              } catch (InjectionException ex)
              {
                  FFDCFilter.processException(ex, CLASS_NAME + ".lookup",
                                              "1342", this);
                  IllegalArgumentException iae = new IllegalArgumentException
                                  ("Failure occurred obtaining object for " + name +
                                   " reference defined for " + home.beanMetaData.j2eeName, ex);
  
                  if (isTraceOn && tc.isEntryEnabled())
                      Tr.exit(tc, "lookup: " + iae);
  
                  throw iae;
              }
          }
          else
          {
              result = container.getEJBRuntime().javaColonLookup(name, home);
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "lookup: " + result.getClass().getName());
  
          return result;
      }