                 lastVoteTimestamp
                 (assoc obj
                  "lastVoteTimestamp" lastVoteTimestamp
-                 "zid" zid))))
+                 "zid" zid))))                  
+                  )))
             
 
 

               (encode-seq (into-array v) jsonGenerator)))



(defn -main []
  (println "launching poller " (System/currentTimeMillis))

          (let [lastVoteTimestamp (:created (last votes))]
            (swap! conversations
              (fn [convs]
                (try
                  (assoc convs zid
                         (do
                           (println "zid: " zid)
                           (let [foo (conv-update (or (convs zid) (new-conv)) votes)]
                             (pprint foo)
                             foo)))
                  (catch Exception e
                    (do
                      (println "exception when processing zid: " zid)
                      (.printStackTrace e)
                      @conversations ; put things back 
                      )))))
            
                
            (println "zid: " zid)
            (println "time: " (System/currentTimeMillis))
            (println "\n\n")

            (let [conv (@conversations zid)]
              (if-not (nil? conv)
                (do
                  
            ; Upload pid mapping NOTE: uploading before primary
            ; results since client triggers resuest for pid mapping in
            ; response to a new primary math result, so there is race.
