      (kill-authenticator universe 5))
 
   ([universe retries]
+     (throw (RuntimeException. "Should this be called from here?"))
      ;; FIXME: Add an atom to universe to indicate that we expect
      ;; authenticator to be around in the first place. If it's the
      ;; first time through, don't waste time on this.

          ;; those messages before exiting.
          ;; This does not work.
          ;; FIXME: How do I force it to accept failure?
          (throw (RuntimeException. "Start here"))
          (.term ctx)))))
  (println "Universe destroyed.")
  ;; Just return a completely fresh instance.

    (when-let [ctx @(:network-context universe)]
      (println "Have a context to shut down")
      (try
        ;;(kill-authenticator universe)
        ;;(println "Authenticator killer didn't throw")
        (let [done (:done universe)]
          (when (not @done)
            (swap! done false)
            (let [auth-thread @(:authentication-thread universe)]
              (.join auth-thread 500)
              (println "Authentication thread has exited"))))
        (catch InterruptedException e
          (str "Exception waiting for authentication thread to exit: "
               (.getMessage e)))
        (finally
          (when-let [sock @(:clients universe)]
            (.close sock))
          (println "Client thread closed")
