class DeltaReport {

    public IssuesStatistics getStatistics() {
        IssuesStatisticsBuilder builder = new IssuesStatisticsBuilder();
        builder.setTotalErrorSize(allIssues.getSizeOf(ERROR))
                .setTotalHighSize(allIssues.getSizeOf(WARNING_HIGH))
                .setTotalNormalSize(allIssues.getSizeOf(WARNING_NORMAL))
                .setTotalLowSize(allIssues.getSizeOf(WARNING_LOW));
        builder.setNewErrorSize(newIssues.getSizeOf(ERROR))
                .setNewHighSize(newIssues.getSizeOf(WARNING_HIGH))
                .setNewNormalSize(newIssues.getSizeOf(WARNING_NORMAL))
                .setNewLowSize(newIssues.getSizeOf(WARNING_LOW));
        builder.setFixedSize(fixedIssues.size());
        if (!referenceBuildId.isEmpty()) {
            builder.setDeltaErrorSize(allIssues.getSizeOf(ERROR) - referenceIssues.getSizeOf(ERROR))
                    .setDeltaHighSize(allIssues.getSizeOf(WARNING_HIGH) - referenceIssues.getSizeOf(WARNING_HIGH))
                    .setDeltaNormalSize(allIssues.getSizeOf(WARNING_NORMAL) - referenceIssues.getSizeOf(WARNING_NORMAL))
                    .setDeltaLowSize(allIssues.getSizeOf(WARNING_LOW) - referenceIssues.getSizeOf(WARNING_LOW));
        }
        return builder.build();
    }

    public  DeltaReport(final Report report, final History history, final int currentBuildNumber);

}