public void nodeChanged(final ReportModelEvent event)
{
if (event.isNodeDeleteEvent())
{
final ReportSelectionModel selectionModel = getSelectionModel();
final AbstractReportDefinition reportDefinition = getReportDefinition();
final Object element = event.getElement();
if (element instanceof Element)
{
final Element[] selectedElements = selectionModel.getSelectedVisualElements();
for (int i = 0; i < selectedElements.length; i++)
{
final Element selectedElement = selectedElements[i];
if (ModelUtility.isDescendant(reportDefinition, selectedElement) == false)
{
selectionModel.remove(element);
}
}
}
else
{
selectionModel.remove(element);
}
}
}