if (exception instanceof ManagedLedgerException.InvalidReplayPositionException) { PositionImpl markDeletePosition = (PositionImpl) cursor.getMarkDeletedPosition(); messagesToReplay.removeIf((ledgerId, entryId) -> { return ComparisonChain.start().compare(ledgerId, markDeletePosition.getLedgerId()) .compare(entryId, markDeletePosition.getEntryId()).result() <= 0;