docs: @Override
      public void discard() {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "discard: " + getStateName(state));
  
          // d639281 - Singleton instances are never actually discarded unless a
          // failure occurs during initialize().
          if (state == PRE_CREATE || state == CREATING) {
              setState(DESTROYED);
  
              // Release any JCDI creational contexts that may exist.      F743-29174
              this.releaseManagedObjectContext();
  
              if (pmiBean != null) {
                  pmiBean.discardCount(); // F743-27070
                  pmiBean.beanDestroyed();
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "discard");
      }