code: public Result verify (FileSystemDataset dataset) {
      if (auditCountClient == null) {
        log.debug("No audit count client specified, skipped");
        return new Result(true, "");
      }
  
      CompactionPathParser.CompactionParserResult result = new CompactionPathParser(this.state).parse(dataset);
      DateTime startTime = result.getTime();
      DateTime endTime = startTime.plusHours(1);
      String datasetName = result.getDatasetName();
      try {
        Map<String, Long> countsByTier = auditCountClient.fetch (datasetName, startTime.getMillis(), endTime.getMillis());
        for (String tier: referenceTiers) {
          Result rst = passed (datasetName, countsByTier, tier);
          if (rst.isSuccessful()) {
            return new Result(true, "");
          }
        }
      } catch (IOException e) {
        return new Result(false, ExceptionUtils.getFullStackTrace(e));
      }
  
      return new Result(false, String.format("%s data is not complete between %s and %s", datasetName, startTime, endTime));
    }
docs: Verify a specific dataset by following below steps
  1) Retrieve a tier-to-count mapping
  2) Read count from {@link CompactionAuditCountVerifier#gobblinTier}
  3) Read count from all other {@link CompactionAuditCountVerifier#referenceTiers}
  4) Compare count retrieved from steps 2) and 3), if any of (gobblin/refenence) >= threshold, return true, else return false
  @param dataset Dataset needs to be verified
  @return If verification is succeeded