/**
  * Creates and register a {@link RemoteTransaction} with no modifications. Returns the created
  * transaction.
  *
  * @throws IllegalStateException if an attempt to create a {@link RemoteTransaction} for an
  *     already registered id is made.
  */
 public RemoteTransaction createRemoteTransaction(
     GlobalTransaction globalTx, WriteCommand[] modifications) {
   RemoteTransaction remoteTransaction =
       modifications == null
           ? txFactory.newRemoteTransaction(globalTx, currentViewId)
           : txFactory.newRemoteTransaction(modifications, globalTx, currentViewId);
   registerRemoteTransaction(globalTx, remoteTransaction);
   return remoteTransaction;
 }