           @destroy()
         separator        : yes
       customView3        : new NVMDetailsView {}, {vmName}
-      
+
   checkVMState:(err, vm, info)->
     return unless vm is @getData()
 

      else
        groupA > groupB

    KD.singletons.vmController.resetVMData()
    KD.singletons.vmController.fetchVMs (err, vms)=>
      @removeAllItems()
      vms.sort cmp
      stack = []
      vms.forEach (vmName)=>
        stack.push (cb)->
          KD.remote.api.JGroup.one
            slug: vmName.split('~')[0]
          , (err, group)->
            return cb err  if err
            data =
              vmName     : vmName
              groupSlug  : group.slug
              groupTitle : group.title
            cb null, data
      async.parallel stack, (err, result)=>
        @instantiateListItems result  unless err
        @deselectAllItems()



    @getView().on 'DeselectAllItems', @bound 'deselectAllItems'
    KD.singletons.vmController.on 'VMListChanged', @bound 'reset'

  reset:->
    cmp = (a, b)->
