code: @Override
      protected void doExecute() throws Exception {
          if (skip) {
              return;
          }
          
          // for liberty-assembly integration
          if (features == null) {
              return;
          }
          
          if (features.getFeatures().size() <= 0) {
              throw new MojoExecutionException(
                      messages.getString("error.install.feature.set.validate"));
          }
  
          UninstallFeatureTask uninstallFeatureTask = (UninstallFeatureTask) ant
                  .createTask("antlib:net/wasdev/wlp/ant:uninstall-feature");
  
          if (uninstallFeatureTask == null) {
              throw new IllegalStateException(MessageFormat.format(messages.getString("error.dependencies.not.found"), "uninstall-feature"));
          }
  
          uninstallFeatureTask.setInstallDir(installDirectory);
          uninstallFeatureTask.setServerName(serverName);
          uninstallFeatureTask.setUserDir(userDirectory);
          uninstallFeatureTask.setOutputDir(outputDirectory);
          uninstallFeatureTask.setFeatures(features.getFeatures());
          uninstallFeatureTask.execute();
      }
docs: /*
  (non-Javadoc)
  @see org.codehaus.mojo.pluginsupport.MojoSupport#doExecute()