       callback? err, vms
 
   fetchVMDomains:(vmName, callback = noop)->
-    # if KD.isGuest() then @vmDomains = guest: ['guest.kd.io']
     if domains = @vmDomains[vmName]
       return @utils.defer -> callback null, domains
 

  fetchVMs: do (waiting = []) ->
    (force, callback)->
      [callback, force] = [force, callback]  unless callback?

      return  unless callback?

      if @vms.length then return @utils.defer => callback null, @vms

      return  if not force and (waiting.push callback) > 1

      KD.remote.api.JVM.fetchVms (err, vms)=>
        @vms = vms  unless err



  fetchGroupVMs:(callback = noop)->
    if @groupVms.length > 0
      return @utils.defer =>
        callback null, @groupVms
