docs: public static void execute(Object mojo) throws Exception {
          // Note that the object can be an instance of
          // AbstractSurefireMojo.
          if (!(isSurefirePlugin(mojo) || isFailsafePlugin(mojo))) {
              return;
          }
          // Check if the same object is already invoked.  This may
          // happen (in the future) if execute method is in both
          // AbstractSurefire and SurefirePlugin classes.
          if (isAlreadyInvoked(mojo)) {
              return;
          }
  
          // Check if surefire version is supported.
          checkSurefireVersion(mojo);
          // Check surefire configuration.
          checkSurefireConfiguration(mojo);
  
          try {
              // Update argLine.
              updateArgLine(mojo);
              // Update excludes.
              updateExcludes(mojo);
              // Update parallel.
              updateParallel(mojo);
          } catch (Exception ex) {
              // This exception should not happen in theory.
              throwMojoExecutionException(mojo, "Unsupported surefire version", ex);
          }
      }