if (getCurrentInput().isModKeyDown(SWT.MOD1)) {
EditPart deselectPart = getDeselectPart(selectedObjects, getSourceEditPart());
if (deselectPart != null) {
viewer.deselect(deselectPart);
} else {
viewer.appendSelection(getSourceEditPart());
removeChildrenDuplicates(getSourceEditPart());
}
viewer.setProperty(LAST_EDIT_PART, getSourceEditPart());
} else if (getCurrentInput().isShiftKeyDown()) {
viewer.appendSelection(getSourceEditPart());