{
for( SapphireAction action : groupOfActions.getActions() )
{
if( action.hasActiveHandlers() && ( ! onlyPropagatedKeyBindings || action.getKeyBindingBehavior() == KeyBindingBehavior.PROPAGATED ) )
{
final SapphireKeySequence keySequence = action.getKeyBinding();
if( keySequence != null )
{
int expectedStateMask = 0;
for( SapphireKeySequence.Modifier modifier : keySequence.getModifiers() )
{
if( modifier == SapphireKeySequence.Modifier.SHIFT )
{
expectedStateMask = expectedStateMask | SWT.SHIFT;
}
else if( modifier == SapphireKeySequence.Modifier.ALT )
{
expectedStateMask = expectedStateMask | SWT.ALT;
}
else if( modifier == SapphireKeySequence.Modifier.CONTROL )
{
expectedStateMask = expectedStateMask | SWT.CONTROL;
}
}
if( event.stateMask == expectedStateMask && event.keyCode == keySequence.getKeyCode() )
{
final List<SapphireActionHandler> handlers = action.getEnabledHandlers();
if( handlers.size() == 1 )
{