docs: public Set identifyStreamsWithIndoubtItems() throws PersistenceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "identifyStreamsWithIndoubtItems");
  
          // Defect 363755
          if (!_available)
          {
              MessageStoreUnavailableException msue = new MessageStoreUnavailableException("Operation not possible as MessageStore is unavailable!");
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Operation not possible as MessageStore is unavailable!");
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "identifyStreamsWithIndoubtItems");
              throw msue;
          }
  
          Set set = new java.util.HashSet();
  
          try
          {
              // Read set of indoubt transactions
              Iterator iterator = _objectManager.getTransactionIterator();
  
              while (iterator.hasNext())
              {
                  Transaction tran = (Transaction)iterator.next();
  
                  if (tran.getState() == Transaction.statePreparedPersistent)
                  {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Indoubt Transaction: "+tran);
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "{");
  
                      // Get the list of tokens involved in this tran
                      Iterator items = tran.getIncludedManagedObjects().iterator();
                      while (items.hasNext())
                      {
                          ManagedObject mo = (ManagedObject)items.next();
  
                          if ((mo != null) && (mo instanceof PersistableMetaData))
                          {
                              PersistableMetaData metaData = (PersistableMetaData)mo;
  
                              if (metaData.getTupleType() == TupleTypeEnum.ITEM || metaData.getTupleType() == TupleTypeEnum.ITEM_REFERENCE)
                              {
                                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, " Item Found: "+metaData);
  
                                  // What stream does this Item belong to?
                                  // Add it to our list.
                                  set.add(Long.valueOf(metaData.getStreamId()));
                              }
                              else
                              {
                                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, " Item Stream Found: "+metaData);
                              }
  
                              // Is this a delete?
                              if (metaData.getState() == ManagedObject.stateToBeDeleted)
                              {
                                  // If so we need to tell it which XID it is
                                  // associated with.
                                  // NOTE: We are playing a bit fast and loose with the
                                  // ObjectStore here as this change in the persistent
                                  // data hasn't been surrounded with a lock/replce. this
                                  // shouldn't be a problem though as when this transaction
                                  // is committed the item will be gone.
                                  metaData.setTransactionId(tran.getXID());
                                  metaData.setLogicallyDeleted(true);
                              }
                          }
                          else
                          {
                              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, " Managed Object Found: "+mo);
                          }
                      }
  
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "}");
                  }
              }
          }
          catch (ObjectManagerException ome)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(ome, "com.ibm.ws.sib.msgstore.persistence.objectManager.PersistableMessageStoreImpl.identifyStreamsWithIndoubtItems", "1:1422:1.81.1.6", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Unexpected exception caught identifying indoubt streams!", ome);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "identifyStreamsWithIndoubtItems");
              throw new PersistenceException("Unexpected exception caught identifying indoubt streams: "+ome.getMessage(), ome);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "identifyStreamsWithIndoubtItems", "return="+set);
          return set;
      }