     [celestial.model :refer [hypervisor]]
     [slingshot.slingshot :refer  [throw+ try+]]
     [clojure.core.strint :refer  (<<)]
+    [flatland.useful.map :refer  (dissoc-in*)] 
     [celestial.common :refer (import-logging)])
   (:import 
     java.net.URL

     (trace "using session " (hash a#) " robin is " @robin)
     (send a# (execute ~body p#)) 
     (let [res# @p#]
       (when (instance? Throwable res#)
         (throw res#))
       res#)
     ))

(defn navigator 
  ([] (navigator (.getRootFolder service)))

    com.vmware.vim25.mo.Task
    com.vmware.vim25.mo.VirtualMachine 
    java.lang.Throwable 
    clojure.lang.ExceptionInfo
    ))

(import-logging)
