code: private List<ReportScreenCapture> generateReportScreenCaptures(
              List<LineScreenCapture> lineScreenCaptures,
              File inputCaptureRootDir, File reportOutputDir, File methodReportParentDir) {
          List<ReportScreenCapture> reportCaptures = new ArrayList<>(lineScreenCaptures.size());
  
          // add noImage capture
          String noImageFilePath = new File(CommonUtils.relativize(
                  CommonPath.htmlExternalResourceRootDir(reportOutputDir), methodReportParentDir),
                  "images/noImage.png").getPath();
          ReportScreenCapture noImageCapture = new ReportScreenCapture();
          // URL separator is always slash regardless of OS type
          noImageCapture.setPath(FilenameUtils.separatorsToUnix(noImageFilePath));
          noImageCapture.setImageId("noImage");
          noImageCapture.setImageWidth(NO_IMAGE_WIDTH);
          noImageCapture.setImageHeight(NO_IMAGE_HEIGHT);
          reportCaptures.add(noImageCapture);
  
          // add each line screen capture
          for (LineScreenCapture lineScreenCapture : lineScreenCaptures) {
              ReportScreenCapture reportCapture = new ReportScreenCapture();
              // replace special keyword for Sahagin internal test
              File actualPath = new File(lineScreenCapture.getPath().getPath().replace(
                      "${inputCaptureRootDirForSahaginInternalTest}", inputCaptureRootDir.getPath()));
              File relInputCapturePath = CommonUtils.relativize(actualPath, inputCaptureRootDir);
              File absOutputCapturePath = new File(
                      CommonPath.htmlReportCaptureRootDir(reportOutputDir), relInputCapturePath.getPath());
              File relOutputCapturePath = CommonUtils.relativize(absOutputCapturePath, methodReportParentDir);
              // URL separator is always slash regardless of OS type
              reportCapture.setPath(FilenameUtils.separatorsToUnix(relOutputCapturePath.getPath()));
              // use ttId as imageId
              String ttId = generateTtId(lineScreenCapture.getStackLines());
              reportCapture.setImageId(ttId);
              reportCapture.setImageSizeFromImageFile(lineScreenCapture.getPath());
              reportCapture.setExecutionTime(lineScreenCapture.getExecutionTime());
              reportCaptures.add(reportCapture);
          }
          return reportCaptures;
      }
docs: generate ResportScreenCapture list from lineScreenCaptures and