def METHOD_NAME(self, base_path: Path, project_paths: List[Path]) -> Report:
    base_path = base_path.resolve()
    guards.is_directory(base_path)
    folder_groups = [self._create_folder_report(base_path, parent_folder, iter)
                     for parent_folder, iter in _group_projects_by_folder(project_paths)]
    feature_names = [report_feature.name for report_feature in self.report_features]
    return Report(feature_names, folder_groups)