docs: public Element insertByKey(Object key, Object object)
      {
          EJSWrapperCommon element = (EJSWrapperCommon) object;
  
          if (ivWrappers == null)
          {
              ivWrappers = new HashMap<Object, EJSWrapperCommon>(DEFAULT_BUCKET_SIZE);
          }
  
          Object duplicate = ivWrappers.put(key, element);
  
          if (duplicate != null)
          {
              // The wrapper cache does not support duplicates.... however, the
              // first time a home is looked up, and keyToObject faults it in,
              // deferred init will initialize it and insert it into the cache
              // before returning to faultOnKey where it will be done AGAIN!
              // In the future, it would be nice if deferred init would NOT
              // add the home to the cache, but until then, it is fine to just
              // ignore this and go on.... at least this code will only allow
              // it in the cache once.                                        d535968
              if (duplicate == element)
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(tc, "insertByKey : same object again : " + object);
              }
              else
              {
                  // It is totally unacceptable to have more than one
                  // EJSWrapperCommon instance per key.                        d535968
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(tc, "insertByKey : attempt to insert duplicate : " + key +
                                   " : " + object + " : " + duplicate);
                  throw new IllegalArgumentException("Attempt to insert duplicate element into EJB Wrapper Cache");
              }
          }
  
          // Give the element (EJSWrapperCommon) access to the bucket, so it
          // may syncronize on it, and also reset the pin count to 0,
          // a non-negative, to indiate the element is now in the cache.
          element.ivBucket = this;
          element.pinned = 0;
  
          return element;
      }