class DashboardItemDeletionHandler extends DeletionHandler {

    @Override
    public void deleteReport( Report report )
    {
        for ( DashboardItem item : dashboardService.getReportDashboardItems( report ) )
        {
            while ( item.getReports().contains( report ) ) // In case of duplicates
            {
                item.getReports().remove( report );
            }

            if ( item.getReports().isEmpty() )
            {
                dashboardService.deleteDashboardItem( item );
            }
        }
    }

    public  DashboardItemDeletionHandler( DashboardService dashboardService );

}