code: public Collection<ImageBuffer> extract(Canceler canceler, int tw, int th, Collection<Media> levelRips)
      {
          final int tilesNumber = getTilesNumber(tw, th, levelRips);
          final Collection<ImageBuffer> tiles = new ArrayList<>();
          int checkedTiles = 0;
          for (final Media levelRip : levelRips)
          {
              final SpriteTiled level = Drawable.loadSpriteTiled(levelRip, tw, th);
              level.load();
              level.prepare();
  
              checkedTiles = extract(canceler, level, tilesNumber, tiles, checkedTiles);
              level.getSurface().dispose();
              if (checkedTiles < 0)
              {
                  break;
              }
          }
  
          listeners.clear();
          return tiles;
      }
docs: Start using specified output file. Listeners are cleared once ended.
  
  @param canceler The canceler reference (can be <code>null</code>).
  @param tw The tile width.
  @param th The tile height.
  @param levelRips The levels rip used.
  @return The extracted tile sheets.
  @throws LionEngineException If an error occurred when computing sheet.