docs: public boolean unregister(BeanId beanId, boolean dropRef) // f111627
      throws CSIException
      {
          boolean removed = false;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "unregister",
                       new Object[] { beanId, new Boolean(dropRef) }); // d181569
  
          ByteArray wrapperKey = beanId.getByteArray(); // d181569
  
          try
          {
              EJSWrapperCommon wrapperCommon = (EJSWrapperCommon) // f111627
              wrapperCache.removeAndDiscard(wrapperKey, dropRef);
              if (wrapperCommon != null) { // f111627
                  removed = true;
              }
          } catch (IllegalOperationException ex)
          {
              // Object is pinned and cannot be removed from the cache
              // Swallow the exception for now, and let the Eviction thread
              // take care of the object later
              FFDCFilter.processException(ex, CLASS_NAME + ".unregister", "351", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) { // d144064
                  Tr.event(tc,
                           "unregister ignoring IllegalOperationException for object "
                                           + beanId); // d181569
                  Tr.event(tc, "Exception: " + ex);
              }
          } catch (DiscardException ex)
          {
              FFDCFilter.processException(ex, CLASS_NAME + ".unregister", "358", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) // d144064
                  Tr.event(tc, "Unable to discard element");
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "unregister");
  
          return removed;
      }