- public <T> void persist(final T o, final Procedure<T> procedure) {
- if(getDelegate().isRecoveryApplicable()) {
- super.persist(o, procedure);
+ public <T> void persist(final T entry, final Procedure<T> procedure) {
+ doPersist(entry, procedure, false);
+ }
+
+ @Override
+ public <T> void persistAsync(final T entry, final Procedure<T> procedure) {
+ doPersist(entry, procedure, true);
+ }
+
+ private <T> void doPersist(final T entry, final Procedure<T> procedure, final boolean async) {
+ if (getDelegate().isRecoveryApplicable()) {
+ persistSuper(entry, procedure, async);