@Override
  public boolean doCommand(TickUpdateCommand command) {
    PositionCoordinate[] selectedPositions = selectionLayer.getSelectedCellPositions();
    IConfigRegistry configRegistry = command.getConfigRegistry();

    // Tick update for multiple cells in selection
    if (selectedPositions.length > 1) {
      // Can all cells be updated ?
      if (EditUtils.allCellsEditable(selectionLayer, configRegistry)
          && EditUtils.isEditorSame(selectionLayer, configRegistry)
          && EditUtils.isConverterSame(selectionLayer, configRegistry)) {
        for (PositionCoordinate position : selectedPositions) {
          updateSingleCell(command, position);
        }
      }
    } else {
      // Tick update for single selected cell
      updateSingleCell(command, selectionLayer.getLastSelectedCellPosition());
    }

    return true;
  }