class DocxGenerator extends OutputGenerator<byte[]> {

    protected static Set<String> extractMostCommonLicenses(Collection<ObligationParsingResult> obligationResults, long threshold) {
        return obligationResults.stream()
                .filter(opr -> opr.getStatus() == ObligationInfoRequestStatus.SUCCESS)
                .flatMap(opr -> opr.getObligationsAtProject().stream())
                .flatMap(o -> o.getLicenseIDs().stream())
                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
                .entrySet().stream()
                .filter(entry -> entry.getValue().longValue() >= threshold)
                .map(entry -> entry.getKey())
                .map(license -> license.replace("\n", "").replace("\r", ""))
                .collect(Collectors.toSet());
    }

    public  DocxGenerator(OutputFormatVariant outputFormatVariant, String description);

}