':param message_id: A message id to identify the message
:param transaction_id: A transaction id to identify the transaction
:param order_id: My order id
:param recipient_order_id: The order id of the recipient of this message
:param proposal_id: The proposal ID associated with this start transaction message
:param price: A price for the trade
:param quantity: A quantity to be traded
:param timestamp: A timestamp when the transaction was created
:type message_id: MessageId
:type transaction_id: TransactionId
:type proposal_id: int
:type order_id: OrderId
:type price: Price
:type quantity: Quantity
:type timestamp: Timestamp'

def __init__(self, message_id, transaction_id, order_id, recipient_order_id, proposal_id, price, quantity, timestamp):

    super(StartTransaction, self).__init__(message_id, timestamp)
    assert isinstance(transaction_id, TransactionId), type(transaction_id)
    assert isinstance(order_id, OrderId), type(order_id)
    assert isinstance(recipient_order_id, OrderId), type(order_id)
    assert isinstance(proposal_id, int), type(proposal_id)
    assert isinstance(price, Price), type(price)
    assert isinstance(quantity, Quantity), type(quantity)
    self._transaction_id = transaction_id
    self._order_id = order_id
    self._recipient_order_id = recipient_order_id
    self._proposal_id = proposal_id
    self._price = price
    self._quantity = quantity
