CTRL + Right click additive selection behaviour

I would like to have the CTRL + right click to select node or link in addition to any nodes or links that are selected.
Scenario: User selects Node1 and then presses CTRL-right clicks Node2. I would like node two be selected on right click. This way when I create a Context Menu CutCommand would work propertly.
I have done this but would like to know which tool ( ClickingSelectionTool ?) and method should I override to do this as it is general behaviour?
Thank you,
private void nodePanel_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
var part = Part.FindAncestor(sender as UIElement);
if (part != null && IsControlKeyDown())
if (!part.IsSelected)
part.IsSelected = true;
protected virtual bool IsControlKeyDown()
return ((Keyboard.Modifiers & ModifierKeys.Control) != ModifierKeys.None);

For general behavior, that’s right – override ClickSelectingTool.StandardMouseSelect.

That way you can use the IsControlKeyDown predicate provided by the base DiagramTool class, which is better than your own definition.

But you raise an interesting point – should the standard definition of DiagramTool.StandardMouseSelect do what you suggest?