   (fn [_ remote]
     (class remote)))
 
+(defmethod mk-local-store nil
+  [local-path null]
+  (DomainStore. local-path))
+
 (defmethod mk-local-store String
   [local-path remote-path]
   (try (mk-local-store local-path (DomainStore. remote-path))
        (catch IllegalArgumentException _
-           (u/throw-runtime "No remote DomainStore at " remote-path))))
+         (u/throw-runtime "No remote DomainStore at " remote-path))))
 
 (defmethod mk-local-store DomainStore
   [local-path remote-vs]

(defrecord Domain
    [local-store remote-store serializer throttle rw-lock
     hostname status domain-data shard-index]  
  Shutdownable
  (shutdown [this]
    "Shutting down a domain requires closing all of its shards."

            remote-version (.mostRecentVersion remote-store)]
        (when (and local-version remote-version)
          (< local-version remote-version)))))

;; ## Sinking and Sourcing
;;
;; These methods allow the user to sink and source objects from the
;; supplied domain.

;; ## Domain Tidying

