docs: @Override
      public void flushCache()
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "flushCache : " + this);
  
          IllegalStateException ise = null;
          ContainerTx tx = container.getCurrentContainerTx();
  
          try
          {
              if (tx == null)
              {
                  ise = new IllegalStateException("flushCache can not be called " +
                                                  "without a Transaction Context");
                  if (isTraceOn && tc.isEntryEnabled())
                      Tr.exit(tc, "flushCache : " + ise);
  
                  throw ise;
              }
              else if (tx.getGlobalRollbackOnly())
              {
                  ise = new IllegalStateException("flushCache can not be called with " +
                                                  "transaction marked rollback only");
                  if (isTraceOn && tc.isEntryEnabled())
                      Tr.exit(tc, "flushCache : " + ise);
  
                  throw ise;
              }
  
              // Perform the actual flush function...
              tx.flush();
  
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(tc, "flushCache : successful");
          } catch (Throwable ex) // d259882
          {
              FFDCFilter.processException(ex, CLASS_NAME + ".flushCache",
                                          "1708", this);
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(tc, "flushCache : " + ex);
  
              // If something went wrong flushing the beans out to storage, then
              // a bean will have been discarded, and the transaction must be
              // rolled back.                                                 d259882
              if (tx != null)
                  tx.setRollbackOnly();
  
              // Convert (possibly nesting) any exception in an EJBException,
              // removing any Container specific exceptions.                  d259882
              EJBException ejbex = ExceptionUtil.EJBException(ex);
  
              if (isTraceOn && tc.isEntryEnabled())
                  Tr.exit(tc, "flushCache : " + ejbex);
  
              throw ejbex;
          }
      }