code: public synchronized void execute() throws MojoExecutionException, MojoFailureException {
          try {
              doExecute();
          }
          catch (Exception e) {
              //
              // NOTE: Wrap to avoid truncating the stacktrace
              //
  
              if (e instanceof MojoExecutionException) {
                  throw new MojoExecutionException(e.getMessage(), e);
              }
              else if (e instanceof MojoFailureException) {
                  MojoFailureException x = new MojoFailureException(e.getMessage());
                  x.initCause(e);
                  throw x;
              }
              else {
                  throw new MojoExecutionException(e.getMessage(), e);
              }
          }
      }
docs: Main Mojo execution hook.  Sub-class should use {@link #doExecute} instead.