@Override public Transaction getReadonlySnapshot() { checkIsFinished(); return new ReadonlyTransaction(this); }
@NotNull @Override public TransactionBase beginReadonlyTransaction(final Runnable beginHook) { checkIsOperative(); return new ReadonlyTransaction(this, false, beginHook); }
@NotNull protected TransactionBase beginTransaction(Runnable beginHook, boolean exclusive, boolean cloneMeta) { checkIsOperative(); return ec.getEnvIsReadonly() ? new ReadonlyTransaction(this, exclusive, beginHook) : new ReadWriteTransaction(this, beginHook, exclusive, cloneMeta); }