          (. ~(with-meta o {:tag class})
             (~method ~@args))))))
 
-
+(defmacro rethro
+  [ex]
+  `(thro ~ex)
+  )
+
+
+(do
+ (clojure.core/cond
+  (clojure.core/and
+   (clojure.core/instance? java.lang.Class t)
+   (clojure.core/contains?
+    (clojure.core/supers t)
+    java.lang.Throwable))
+  (throw (runtime.q/newClass t (clojure.core/str)))
+  (clojure.core/instance? java.lang.Throwable t)
+  (throw t)
+  :else
+  (throw
+   (new
+    java.lang.RuntimeException
+    (clojure.core/str
+     "you must pass a class2 to `"
+     'thro
+     "` at "
+     '{:line 1, :column 40})))))
 
 (defmacro thro
 "

(defn getUniqueFolder
  [& [in-path prefix suffix]]
  ;(delay 
    (do
      (let [uniqueFile (getUniqueFile)
            ]
        (assumedTrue (.exists uniqueFile) (.isFile uniqueFile))

        (assumedTrue (.exists uniqueFile) (.isDirectory uniqueFile))
        uniqueFile
        )
      (catch Throwable t 
        (do 
          (throw t)
          )
        )
      )
   ; )
  )
