     (zip/root loc)
     (recur (zip/next
             (cond
-             (looking-at? :extensions loc) (do (append-system-properties loc) (add-extensions loc))
+             (looking-at? :extensions loc) (fix-extensions loc)
              (looking-at? :profile loc) (fix-profile loc)
              (looking-at? :periodic-rotating-file-handler loc) (add-logger-levels loc)
              (looking-at? :virtual-server loc) (set-welcome-root loc)

  [loc]
  (zip/append-child (zip/down loc) {:tag :consumer-window-size :content ["1"]}))

(defn looking-at? [tag loc]
  (= tag (:tag (zip/node loc))))

(defn append-system-properties [loc]
  (if (looking-at? :extensions loc)
    (if-not (looking-at? :system-properties (zip/right loc))
      (zip/insert-right loc {:tag :system-properties}))))

(defn prepare-zip
  [file]

                        loc)))))

(defn fix-socket-binding-group [loc]
  (if (looking-at? :socket-binding-groups (zip/up loc))
    (let [name (get-in (zip/node loc) [:attrs :name])]
      (cond
       (= "standard-sockets" name) (zip/remove loc)
       (= "full-ha-sockets" name) (zip/edit loc assoc-in [:attrs :name] "standard-sockets")
       :else loc))
    loc))

(defn server-element [name offset]
  {:tag :server
