public <T> T withTransaction(@NotNull TransactionCallback<T> callback) {
        return withTransaction(Propagation.REQUIRED, Isolation.DEFAULT, callback);
    }
public < T > T withTransaction ( @ NotNull TransactionCallback < T > callback ) { return withTransaction ( Propagation . REQUIRED , Isolation . DEFAULT , callback ) ; }
Executes a block of code within a context of a transaction, using {@link Propagation#REQUIRED} propagation.