docs: private CompletableFuture<Void> completeWithRemoteCommand(AdvancedCache<?, ?> cache, RpcManager rpcManager,
           TxState state)
           throws Throwable {
        CommandsFactory commandsFactory = cache.getComponentRegistry().getCommandsFactory();
        CacheRpcCommand command = buildRemoteCommand(cache.getCacheConfiguration(), commandsFactory, state);
        CompletableFuture<Void> remote = rpcManager
              .invokeCommandOnAll(command, validOnly(), rpcManager.getSyncRpcOptions())
              .handle(handler())
              .toCompletableFuture();
        commandsFactory.initializeReplicableCommand(command, false);
        CompletableFuture<Void> local = command.invokeAsync().handle(handler());
        return CompletableFuture.allOf(remote, local);
     }