code: public List<File> generate(EvidenceDir targetDir) {
  
          LOG.info("screenshot.generate", targetDir.getDir());
  
          List<File> maskedFiles = new ArrayList<>();
  
          if (!(targetDir.exists())) {
              LOG.error("evidence.error");
              return maskedFiles;
          }
  
          MaskInfo maskInfo = MaskInfo.load(targetDir);
  
          for (File evidence : targetDir.getEvidenceFiles()) {
  
              for (File screenshot : targetDir.getScreenshots(evidence.getName())) {
  
                  if (maskInfo.getMaskInfoAsMap().get(screenshot.getName()) == null) {
                      continue;
                  }
  
                  maskedFiles.add(mask(screenshot, maskInfo));
              }
  
          }
  
          return maskedFiles;
      }
docs: 指定されたエビデンスディレクトリ以下のスクリーンショットに対してマスク処理を行います。
  マスク処理に使用するマスク情報ファイルは以下の優先度で有効になります。
  
  <ol>
  <li>基準エビデンスルート/${browser}/mask/*.json
  <li>${user.home}/Downloads/*.json
  </ol>
  
  マスク処理に使用したマスク情報ファイルは基準エビデンスディレクトリ以下に移動します。
  マスク処理後のスクリーンショットファイルは、処理前のファイルと同じディレクトリに保存し、ファイル名の先頭に"mask_"を付与します。
  
  @param targetDir
  マスク処理を行うエビデンスのディレクトリ
  @return マスク後の画像ファイル