private boolean replaceInternal(K key, V oldValue, V value, Metadata metadata,
EnumSet<Flag> explicitFlags, InvocationContext ctx) {
assertKeyValueNotNull(key, value);
assertValueNotNull(oldValue);
ReplaceCommand command = commandsFactory.buildReplaceCommand(
key, oldValue, value, metadata, explicitFlags);
return (Boolean) executeCommandAndCommitIfNeeded(ctx, command);
}