code: public void addItemStream(final ItemStream itemStream, final Transaction transaction)
                      throws ProtocolException, OutOfCacheSpace, StreamIsFull, TransactionException, PersistenceException, SevereMessageStoreException
      {
          addItemStream(itemStream, NO_LOCK_ID, transaction);
      }
docs: Add an {@link ItemStream} to an item stream under a transaction. An ItemStream
  can only be added onto one stream at a time. .
  <p>This method can be overridden by subclass implementors in order to
  customize the behaviour of the stream. Any override should call the superclass
  implementation to maintain correct behaviour.</p>
  
  @param itemStream
  @param transaction
  @throws SevereMessageStoreException
  @throws {@link OutOfCacheSpace} if there is not enough space in the
  unstoredCache and the storage strategy is {@link AbstractItem#STORE_NEVER}.
  
  @throws {@link StreamIsFull} if the size of the stream would exceed the
  maximum permissable size if an add were performed.
  
  @throws {@ProtocolException} Thrown if an add is attempted when the
  transaction cannot allow any further work to be added i.e. after
  completion of the transaction.
  
  @throws {@TransactionException} Thrown if an unexpected error occurs.
  
  @throws {@PersistenceException} Thrown if a database error occurs.