docs: private boolean isIFixApplicable(Version productVersion, IFixInfo iFixInfo) throws VersionParsingException {
          // If we don't know the product version just return true
          if (productVersion == null) {
              return true;
          }
  
          // Get the applicability for the iFix
          Applicability applicability = iFixInfo.getApplicability();
          if (applicability == null) {
              throw new VersionParsingException(getMessage("compare.unable.to.find.offering", iFixInfo.getId()));
          }
          List<Offering> offerings = applicability.getOfferings();
          if (offerings == null || offerings.isEmpty()) {
              throw new VersionParsingException(getMessage("compare.unable.to.find.offering", iFixInfo.getId()));
          }
  
          // All offerings do not have the same version range so we need to iterate to see if we match
          // an of the applicable ranges
          boolean matches = false;
          for (Offering offering : offerings) {
              String tolerance = offering.getTolerance();
              VersionRange toleranceRange = VersionRange.parseVersionRange(tolerance);
  
              // Make sure the product version is in the range of the tolerance
              if (toleranceRange.matches(productVersion)) {
                  matches = true;
                  break;
              }
          }
          return matches;
      }