code: public void execute(final List<Command> commands) {
          try {
              modelWalkingSynchronizer.doWhenModelWalkerFinished(ActionType.INCOMMING_COMMANDS, new Runnable() {
                  @Override
                  public void run() {
                      for (Object command : commands) {
                          execute(command);
                      }
                  }
              });
          } catch (final SynchronizeFXException e) {
              topology.onError(e);
          }
      }
docs: Executes commands to change the domain model of the user.
  
  <p>
  This method is <em>not</em> Thread-safe. All callers must make sure that this method is called sequentially
  e.g by using a single-thread executor. The thread in which this method is called will also be used to execute
  changes on JavaFX properties so clients that have bound the GUI to properties of the domain model should make
  sure that this method is called in the JavaFX GUI thread.
  </p>
  
  <p>
  These commands have usually been created by an other instance of {@link MetaModel} in an other JVM which send
  them via {@link TopologyLayerCallback#sendCommands(List)} or produced them through
  {@link MetaModel#commandsForDomainModel(CommandsForDomainModelCallback)}.
  </p>
  
  @param commands The commands that should be executed.