}
else {
switch (transactionMode) {
case REQUIRED:
case REQUIRED_WRITE:
throw new NoTransactionInProgressException();
case READ:
case NEW:
case IMPLICIT_COMMIT_AND_NEW:
transaction = new ServerTransaction(this, true, ServerTransaction.PeriodicallyCommit.OFF);
localTransaction = true;