}
@Override
public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable {
if (!dm.getTransactionLogger().beforeCommand(ctx, command)) {
throw new RehashInProgressException("Timed out waiting for the transaction lock");
}
try {
return super.visitPutKeyValueCommand(ctx, command);
} finally {
dm.getTransactionLogger().afterCommand(ctx, command);