private void visitComponent(Component component) {
   int indexInFile = 0;
   CloseableIterator<BatchReport.CpdTextBlock> blocks =
       reportReader.readCpdTextBlocks(component.getReportAttributes().getRef());
   try {
     while (blocks.hasNext()) {
       BatchReport.CpdTextBlock block = blocks.next();
       dbClient
           .duplicationDao()
           .insert(
               session,
               new DuplicationUnitDto()
                   .setHash(block.getHash())
                   .setStartLine(block.getStartLine())
                   .setEndLine(block.getEndLine())
                   .setIndexInFile(indexInFile)
                   .setSnapshotId(dbIdsRepository.getSnapshotId(component))
                   .setProjectSnapshotId(projectSnapshotId));
       indexInFile++;
     }
   } finally {
     blocks.close();
   }
 }