code: private List<PackageSummary> summaryPackages() {
  		Map<String, PackageSummary> summaries = new HashMap<>();
  
  		coverages.forEach((name, c) -> {
  			Path p = Paths.get(name).getParent();
  			String pkg = p != null ? p.toString().replace(File.separatorChar, '.') : "_root_";
  			PackageSummary summary = summaries.computeIfAbsent(pkg, k -> new PackageSummary(pkg));
  			summary.coverageInfos.addAll(c.values());
  		});
  		return summaries.values().stream().sorted(Comparator.comparing(p -> p.packagePath))
  				.collect(Collectors.toList());
  
  	}
docs: パッケージ単位にまとめる
  
  @return パッケージ単位情報