docs: @Override
      protected void doExecute(ExecutionContext context) {
          CommandConsole console = context.getCommandConsole();
  
          /*
           * There are two uses of the compare command, they may have supplied the --apar option or the --to option, if neither is supplied then this is illegal use so put an error
           * out
           */
          boolean toSet = context.optionExists(INSTALL_LOCATION_TO_COMPARE_TO_OPTION);
          boolean aparSet = context.optionExists(APAR_TO_COMPARE_OPTION);
          if (!toSet && !aparSet) {
              console.printlnErrorMessage(getMessage("compare.no.option.set"));
              return;
          }
  
          // Both commands need the iFix information for the current install so grab it now so it's only loaded once
          File wlpInstallationDirectory = context.getAttribute(CommandConstants.WLP_INSTALLATION_LOCATION, File.class);
          InstalledIFixInformation installedIFixes = findInstalledIFixes(wlpInstallationDirectory, console, context.optionExists(VERBOSE_OPTION));
          if (toSet) {
              compareToInstallLocation(context, console, installedIFixes.validIFixes, wlpInstallationDirectory);
          }
          if (aparSet) {
              compareToAparList(context, console, installedIFixes.validIFixes, wlpInstallationDirectory);
          }
          // Finally list all of the iFixes that were not applicable
          if (!installedIFixes.iFixesWithMissingFiles.isEmpty()) {
              console.printlnInfoMessage("");
              console.printlnInfoMessage(getMessage("compare.invalid.ifixes.missing", installedIFixes.iFixesWithMissingFiles));
          }
  
          if (!installedIFixes.inapplicableIFixes.isEmpty()) {
              console.printlnInfoMessage("");
              console.printlnInfoMessage(getMessage("compare.invalid.ifixes.badversion", installedIFixes.inapplicableIFixes));
          }
  
          if (!installedIFixes.iFixesWithInvalidXml.isEmpty()) {
              console.printlnInfoMessage("");
              console.printlnErrorMessage(getMessage("compare.invalid.ifixes.bad.xml", installedIFixes.iFixesWithInvalidXml));
          }
      }