private bool DoesDeviceHaveControlInAnActionGroup(
     QueueControl[] controls,
     GroupedActionsToBeQueued[] actionGroups)
 {
     return controls.Any(control => actionGroups.Any(g => g.ActionToBeQueued.Control.ControlId == control.ControlId));
 }
 private IEnumerable<ActionToBeQueued> GetNotGroupedActions(GroupedActionsToBeQueued[] actionGroups) => InvokeActions
     .Select(a => ControlConfiguration[a.DeviceId])
     .Where(controls => !DoesDeviceHaveControlInAnActionGroup(controls, actionGroups))
     .Select(GetFirstControlWhichSupportsActionOrNull)
     .Where(control => control != null)
     .Select(control => new ActionToBeQueued(control, ControlAction));