@Override
  public void execute() throws NullPointerException {
    getProject().log(this, msg, Project.MSG_INFO);

    PropertyHelper propertyHelper = PropertyHelper.getPropertyHelper(getProject());
    if (qtjambiConfig == null) {
      String thisQtjambiConfig = AntUtil.getPropertyAsString(propertyHelper, Constants.CONFIG);
      if (thisQtjambiConfig != null) {
        if (Constants.CONFIG_RELEASE.equals(thisQtjambiConfig)) qtjambiConfig = thisQtjambiConfig;
        else if (Constants.CONFIG_DEBUG.equals(thisQtjambiConfig))
          qtjambiConfig = thisQtjambiConfig;
        else if (Constants.CONFIG_TEST.equals(thisQtjambiConfig)) qtjambiConfig = thisQtjambiConfig;
        else
          getProject()
              .log(
                  this,
                  "WARNING: QTJAMBI_CONFIG will not be exported as value "
                      + thisQtjambiConfig
                      + " is not recognised (from "
                      + Constants.CONFIG
                      + ")",
                  Project.MSG_INFO);
        if (thisQtjambiConfig != null)
          getProject()
              .log(
                  this,
                  "QTJAMBI_CONFIG will be exported as "
                      + qtjambiConfig
                      + " (from "
                      + Constants.CONFIG
                      + ")",
                  Project.MSG_INFO);
      }
    }

    String proFile = "";
    if (!pro.equals("")) proFile = Util.makeCanonical(pro).getAbsolutePath();

    final List<String> command = new ArrayList<String>();

    command.add(resolveExecutableAbsolutePath());
    command.add(proFile);

    List<String> arguments = parseArguments();
    if (!arguments.isEmpty()) command.addAll(arguments);

    List<String> parameters = parseParameters();
    if (!parameters.isEmpty()) command.addAll(parameters);

    File dirExecute = null;
    if (dir != null) dirExecute = new File(dir);

    String binpath = AntUtil.getPropertyAsString(propertyHelper, Constants.BINDIR);
    Exec.execute(command, dirExecute, getProject(), binpath, null);
  }