         activeItem = @commandsMap[commandId]
         # Manually flip the checked flags when clicked.
         if activeItem?
-          switch activeItem.type
-            when 'checkbox'
-              activeItem.checked = !activeItem.checked
-            when 'radio'
-              for item in @groupsMap[activeItem.groupId]
-                item.checked = false
-              activeItem.checked = true
+          if activeItem.type in ['checkbox', 'radio']
+            activeItem.checked = !activeItem.checked
           activeItem.click()
 
   switch item.type

BrowserWindow = require 'browser-window'
EventEmitter = require('events').EventEmitter
MenuItem = require 'menu-item'

bindings = process.atomBinding 'menu'


      item.groupId = generateGroupId(@items, pos)
      @groupsMap[item.groupId] ?= []
      @groupsMap[item.groupId].push item

      # Setting a radio menu item should flip other items in the group.
      v8Util.setHiddenValue item, 'checked', item.checked
      Object.defineProperty item, 'checked',
        enumerable: true
        get: -> v8Util.getHiddenValue item, 'checked'
        set: (val) =>
          for otherItem in @groupsMap[item.groupId]
            v8Util.setHiddenValue otherItem, 'checked', false
          v8Util.setHiddenValue item, 'checked', true

      @insertRadioItem pos, item.commandId, item.label, item.groupId

  @setSublabel pos, item.sublabel if item.sublabel?
