private void executeDotCover(DotcoverStep step, String xmlFile) {
   ExecTask exec = new ExecTask(this);
   exec.setProject(getProject());
   exec.setExecutable(execPath);
   exec.setFailonerror(failOnError);
   exec.setFailIfExecutionFails(failOnError);
   exec.createArg().setValue(step.name().toLowerCase());
   exec.createArg().setValue(xmlFile);
   exec.execute();
 }
  /**
   * Constructs an ExecTask instance, linked to the current project, for running the client. This
   * implementation prepares the exec task so it will run the appclient script.
   *
   * @return ExecTask initialized for running the appclient script to execute the generated and
   *     retrieved app client
   */
  protected ExecTask prepareRunExecTask() {
    /*
     This is the ant excerpt imitated by the exec task built by this method:

     <exec executable="${APPCLIENT}" resultproperty="result" failonerror="false" output="${build}/${log.id}.output.log">
                <arg line="-client ${archivedir}/${testName}Client.jar"/>
            </exec>
    */
    ExecTask exec = new ExecTask();
    exec.setProject(project);
    String appclientValue = project.getProperty("APPCLIENT");
    exec.setExecutable(appclientValue);
    exec.setFailonerror(false);
    exec.setTaskName("runclient");
    return exec;
  }