code: @Override
      public void execute () throws BuildException
      {
          // make sure everything was set up properly
          ensureSet(_config, "Must specify the path to the bundler config " +
                    "file via the 'config' attribute.");
          ensureSet(_mapfile, "Must specify the path to the tileset id map " +
                    "file via the 'mapfile' attribute.");
  
          File cfile = null;
          try {
              // create a tileset bundler
              TileSetBundler bundler = createBundler();
  
              // create our tileset id broker
              MapFileTileSetIDBroker broker =
                  new MapFileTileSetIDBroker(_mapfile);
  
              // deal with the filesets
              for (int ii = 0; ii < _filesets.size(); ii++) {
                  FileSet fs = _filesets.get(ii);
                  DirectoryScanner ds = fs.getDirectoryScanner(getProject());
                  File fromDir = fs.getDir(getProject());
                  String[] srcFiles = ds.getIncludedFiles();
  
                  for (String srcFile : srcFiles) {
                      cfile = new File(fromDir, srcFile);
  
                      // figure out the bundle file based on the definition
                      // file
                      String cpath = cfile.getPath();
                      if (!cpath.endsWith(".xml")) {
                          System.err.println("Can't infer bundle name from " +
                                             "bundle config name " +
                                             "[path=" + cpath + "].\n" +
                                             "Config file should end with .xml.");
                          continue;
                      }
                      String bpath = getTargetPath(fromDir, cpath);
                      File bfile = new File(bpath);
  
                      // create the bundle
                      if (bundler.createBundle(broker, cfile, bfile)) {
                          System.out.println(
                              "Created bundle from '" + cpath + "'...");
                      } else {
                          System.out.println(
                              "Tileset bundle up to date '" + bpath + "'.");
                      }
                  }
              }
  
              // commit changes to the tileset id mapping
              broker.commit();
  
          } catch (Exception e) {
              String errmsg = "Failure creating tileset bundle [source=" + cfile +
                  "]: " + e.getMessage();
              throw new BuildException(errmsg, e);
          }
      }
docs: Performs the actual work of the task.