 
 (defn construct [klass & args]
   (.newInstance
-    (.getConstructor klass (into-array java.lang.Class (map type args)))
-    (object-array args)))
+   (.getConstructor klass (into-array java.lang.Class (map type args)))
+   (object-array args)))
 
 
 (defn get-nested-object [obj reflector property]

                 [_ 'java.lang.String  _                 true]   (let [klass (get-class-by-name property-type)]
                                                                   (Reflector/invokeStaticMethod klass "valueOf" (to-array [value])))
                 :else (-> property-type
                             (resolve)
                             (cast value)))]

      (Reflector/invokeInstanceMethod obj
                                      setter


                 [nil _ _ _] nil
                 [_ 'clojure.lang.PersistentArrayMap _ _] (let [nested-object (get-nested-object obj reflector prop)]
                                                            (update-with nested-object value)
                                                            nested-object)
                 [_ 'clojure.lang.PersistentVector   _ _] (let [generic-classes (.. (class obj)
                                                                                    (getDeclaredField prop)
                                                                                    (getGenericType)
