if (!(command instanceof VersionedPrepareCommand)) {
throw new IllegalStateException("Expected a Versioned Prepare Command in version aware component");
}
try {
KeysValidateFilter responseFilter = ctx.getCacheTransaction().hasModification(ClearCommand.class) || isSyncCommitPhase() ?
null : new KeysValidateFilter(rpcManager.getAddress(), ctx.getAffectedKeys());
setVersionsSeenOnPrepareCommand((VersionedPrepareCommand) command, ctx);
totalOrderAnycastPrepare(recipients, command, responseFilter);
if (responseFilter != null && !responseFilter.isAllKeysValidated()) {
throw new CacheException("Not all keys were validated. Possible member has left the cluster");
}
} finally {
transactionRemotelyPrepared(ctx);
}