@Override
 public void tilesAdded(Dimension dimension, Set<Tile> tiles) {
   for (Tile tile : tiles) {
     tile.addListener(this);
   }
   fireTilesChangedIncludeBorder(tiles);
 }
 @Override
 public void addTileListener(TileListener tileListener) {
   if (active && listeners.isEmpty()) {
     ((Dimension) tileProvider).addDimensionListener(this);
     for (Tile tile : ((Dimension) tileProvider).getTiles()) {
       tile.addListener(this);
     }
   }
   if (!listeners.contains(tileListener)) {
     listeners.add(tileListener);
   }
 }