stream/statelib/src/main/java/org/apache/bookkeeper/statelib/api/mvcc/MVCCAsyncStore.java [355:375]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            .Then(getOpFactory().newDelete(
                k,
                Options.deleteAndGet()))
            .build();
        return txn(op).thenCompose(result -> {
            try {
                Code code = result.code();
                if (Code.OK == code && !result.isSuccess()) {
                    code = Code.BAD_REVISION;
                }
                if (Code.OK == code) {
                    List<Result<K, V>> subResults = result.results();
                    DeleteResult<K, V> deleteResult = (DeleteResult<K, V>) subResults.get(0);
                    List<KeyValue<K, V>> prevKvs = deleteResult.getPrevKvsAndClear();
                    if (prevKvs.isEmpty()) {
                        return FutureUtils.value(null);
                    } else {
                        return FutureUtils.value(prevKvs.get(0));
                    }
                } else {
                    return failWithCode(code,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



stream/statelib/src/main/java/org/apache/bookkeeper/statelib/api/mvcc/MVCCAsyncStore.java [388:408]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            .Then(getOpFactory().newDelete(
                k,
                Options.deleteAndGet()))
            .build();
        return txn(op).thenCompose(result -> {
            try {
                Code code = result.code();
                if (Code.OK == code && !result.isSuccess()) {
                    code = Code.BAD_REVISION;
                }
                if (Code.OK == code) {
                    List<Result<K, V>> subResults = result.results();
                    DeleteResult<K, V> deleteResult = (DeleteResult<K, V>) subResults.get(0);
                    List<KeyValue<K, V>> prevKvs = deleteResult.getPrevKvsAndClear();
                    if (prevKvs.isEmpty()) {
                        return FutureUtils.value(null);
                    } else {
                        return FutureUtils.value(prevKvs.get(0));
                    }
                } else {
                    return failWithCode(code,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



