docs: public final void addItemStream(final ItemStream itemStream, long lockID, final Transaction transaction) throws MessageStoreException
      {
          // Defect 410652
          // Check the transaction being used is from the same MessageStore as
          // ours so that we don't get a mismatch and run the possibility of
          // hitting a DuplicateKeyException at persistence time. If the MS's
          // don't match then the unique key generator being used for this
          // add could be using a range that has already been used in the MS
          // that will be used to persist the transaction.
          final MessageStoreImpl messageStore = getMessageStoreImpl();
          final MessageStore     tranStore    = ((PersistentTransaction)transaction).getOwningMessageStore();
          // We only need to do a simple equality check as all that we really
          // care about is that the same MS instance in memory is being used.
          if (messageStore != tranStore)
          {
              MismatchedMessageStoreException mmse = new MismatchedMessageStoreException("Transaction supplied on add does not originate from this MessageStore! MS: "+messageStore+", Tran.MS: "+tranStore);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.event(this, tc, "Transaction supplied on add does not originate from this MessageStore! MS: "+messageStore+", Tran.MS: "+tranStore, mmse);
              throw mmse;
          }
  
          int strategy = itemStream.getStorageStrategy();
          final long itemID = messageStore.getUniqueValue(strategy);
          TupleTypeEnum type = TupleTypeEnum.ITEM_STREAM;
          Persistable childPersistable = getTuple().createPersistable(itemID, type);
          childPersistable.setStorageStrategy(strategy);
          final AbstractItemLink link = new ItemStreamLink(itemStream, this, childPersistable);
          // Defect 463642
          // Revert to using spill limits previously removed in SIB0112d.ms.2
          link.setParentWasSpillingAtAddTime(getListStatistics().isSpilling());
          messageStore.registerLink(link, itemStream);
          link.cmdAdd(this, lockID, (PersistentTransaction)transaction);
      }