private void processRecognitionException(
      RecognitionException e, SensorContext sensorContext, InputFile inputFile) {
    if (parsingErrorRuleKey != null) {
      NewIssue newIssue = sensorContext.newIssue();

      NewIssueLocation primaryLocation =
          newIssue
              .newLocation()
              .message(e.getMessage())
              .on(inputFile)
              .at(inputFile.selectLine(e.getLine()));

      newIssue.forRule(parsingErrorRuleKey).at(primaryLocation).save();
    }

    if (sensorContext.getSonarQubeVersion().isGreaterThanOrEqual(V6_0)) {
      sensorContext
          .newAnalysisError()
          .onFile(inputFile)
          .at(inputFile.newPointer(e.getLine(), 0))
          .message(e.getMessage())
          .save();
    }
  }