@Override
public NotifyingFuture<Boolean> removeWithVersionAsync(final K key, final long version) {
assertRemoteCacheManagerIsStarted();
final NotifyingFutureImpl<Boolean> result = new NotifyingFutureImpl<Boolean>();
Future future = executorService.submit(new Callable() {
@Override
public Object call() throws Exception {
boolean removed = removeWithVersion(key, version);
result.notifyFutureCompletion();
return removed;