docs: public void addItem(final Item item, long lockID, final Transaction transaction)
                      throws ProtocolException, OutOfCacheSpace, StreamIsFull, TransactionException, PersistenceException, SevereMessageStoreException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "addItem");
  
          ItemCollection ic = ((ItemCollection) _getMembership());
          if (null == ic)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "addItem");
              throw new InvalidAddOperation("STREAM_NOT_STORED_SIMS0004", new Object[] { item, this });
          }
  
          if (null != item._getMembership())
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "addItem");
              throw new InvalidAddOperation("STREAM_ADD_CONFLICT_SIMS0005", new Object[] { item, this });
          }
  
          ic.addItem(item, lockID, transaction);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "addItem");
      }