class DependencyListView extends View {

    public Table getTable(){
        final Table table = new Table(getHeaders());

        // Create row(s) per dependency
        for(final Dependency dependency: dependencies){
            final List<String> licenseIds = dependency.getTarget().getLicenses();

            // A dependency can have many rows if it has many licenses
            if(licenseIds.isEmpty()){
                table.addRow(getDependencyCells(dependency, DataModelFactory.createLicense("","","","","")));
            }
            else{
                for(final String licenseId: dependency.getTarget().getLicenses()){
                    final License license = getLicense(licenseId);
                    table.addRow(getDependencyCells(dependency, license));
                }
            }
        }

        return table;
    }

    public  DependencyListView(final String title,
                              final Decorator decorator,
                              final LicenseMatcher licenseMatcher,
                              final ModelMapper mapper,
                              final String templateName);

}