Javadoc
Enlist the specified participant with current transaction such that it
will participate in the Volatile 2PC protocol; a unique identifier for
the participant is also required. If there is no transaction associated
with the invoking thread then the UnknownTransactionException exception
is thrown. If the coordinator already has a participant enrolled with
the same identifier, then AlreadyRegisteredException will be thrown. If
the transaction is not in a state where participants can be enrolled
(e.g., it is terminating) then WrongStateException will be thrown.