docs: public boolean cleanup(boolean flushStreams, boolean redriveDeletionThread)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "cleanup",
            new Object[]{Boolean.valueOf(flushStreams), Boolean.valueOf(redriveDeletionThread)});
  
      boolean retvalue = false;
  
      // first check if already finishedCloseAndFlush, since this call can be redriven
      synchronized (streamTable)
      {
        if (finishedCloseAndFlush)
        {
          retvalue = true;
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "cleanup", Boolean.valueOf(retvalue));
          return retvalue;
        }
      }
  
      if (!flushStreams)
      {
        // Simply cleanup the non-persistent state. The persistent state will get cleaned up when
        // the caller deletes everything from the AOContainerItemStream
        close();
        retvalue = true;
      }
      else
      {
        // have to flush all the streams
        closeAndFlush(redriveDeletionThread);
        synchronized (streamTable)
        {
          retvalue = finishedCloseAndFlush;
        }
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "cleanup", Boolean.valueOf(retvalue));
      return retvalue;
    }