import org.opendaylight.mdsal.common.api.DataValidationFailedException;
import org.opendaylight.mdsal.common.api.ForwardingOnCommitFutureCallback;
import org.opendaylight.mdsal.common.api.OnCommitCallback;
+import org.opendaylight.mdsal.common.api.OnCommitFutureCallback;
import org.opendaylight.mdsal.common.api.OptimisticLockFailedException;
import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
* @throws NullPointerException if any argument is {@code null}
*/
default void commit(final @NonNull OnCommitCallback callback, final @NonNull Executor executor) {
- final var compat = new ForwardingOnCommitFutureCallback(callback);
+ final var futureCallback = callback instanceof OnCommitFutureCallback onCommit ? onCommit
+ : new ForwardingOnCommitFutureCallback(callback);
requireNonNull(executor);
- commit().addCallback(compat, executor);
+ commit().addCallback(futureCallback, executor);
}
/**