code: @Override
      public void endElement(String uri, String localName, String qName) throws SAXException {
          if (null != qName) {
              switch (qName) {
                  case SUPPRESS:
                      if (rule.getUntil() != null && rule.getUntil().before(Calendar.getInstance())) {
                          LOGGER.info("Suppression is expired for rule: {}", rule);
                      } else {
                          suppressionRules.add(rule);
                      }
                      rule = null;
                      break;
                  case FILE_PATH:
                      rule.setFilePath(processPropertyType());
                      break;
                  case SHA1:
                      rule.setSha1(currentText.toString());
                      break;
                  case GAV:
                      rule.setGav(processPropertyType());
                      break;
                  case CPE:
                      rule.addCpe(processPropertyType());
                      break;
                  case CWE:
                      rule.addCwe(currentText.toString());
                      break;
                  case CVE:
                      rule.addCve(currentText.toString());
                      break;
                  case NOTES:
                      rule.addNotes(currentText.toString());
                      break;
                  case CVSS_BELOW:
                      final float cvss = Float.parseFloat(currentText.toString());
                      rule.addCvssBelow(cvss);
                      break;
                  default:
                      break;
              }
          }
      }
docs: Handles the end element event.
  
  @param uri the URI of the element
  @param localName the local name of the element
  @param qName the qName of the element
  @throws SAXException thrown if there is an exception processing