The transaction does not start by creating a transaction object. One of the ‘Start’ methods will need to be called in order to start this transaction.
A transaction cannot start unless is has a valid (non-empty) name. Because this constructor does not take a name, a name must be assigned later before or during the ‘Start’ method.