':type transaction_number: int
:raises ValueError: Thrown when one of the arguments are invalid'

def __init__(self, transaction_number):

    super(TransactionNumber, self).__init__()
    if (not isinstance(transaction_number, int)):
        raise ValueError('Transaction    number    must    be    an    integer')
    self._transaction_number = transaction_number
