Javadoc
This method can be used for direct control of a transaction's life cycle. For example, if the work done in
the transaction is interactive and cannot be expressed as a
TransactionTask ahead of time, this method
allows for a long lived transaction object. For the any data read or written to the transaction to be valid,
the transaction must be committed, preferably by calling
#finishRunTaskWithLockThrowOnConflict(TransactionAndImmutableTsLock,TransactionTask) to also perform
additional cleanup.