   (let [
          ;@todo Experiment1
          ;targret-access-key (fgc/get-access-key target-id-path)
-         targret-visible-access-key (fgc/conjv targret-access-key :visible)
-
-         properties (if initialization
-                      (let [ target-properties-already-evovled (fgc/get-evolved-properties container targret-access-key)
-                             to-evolve (if target-properties-already-evovled
-                                         (vec (remove target-properties-already-evovled (:properties dependents)))
-                                         (:properties dependents))]
-                        (if (empty? to-evolve) nil to-evolve))
-
-                      ;
-                      ;@todo Experiment1. Have some :_parameter in :content-pane that tells this is allowed. Not allowed by default
-                      ;
-                      ;
-                      ;(if (get-in container targret-visible-access-key)
-                      ;  (:properties dependents)
-                      ;  (do ;(println " Limiting properties for " target-id-path " because it is not visible")
-                      ;    (if (some #(= :visible %1) (:properties dependents)) (:properties dependents)))
-                      ;  )
-                      ;
-                      ; It causes bugs with cell :visible :achor :selection when grouping/ungrouping and when
-                      ; selecting a row and then scrolling down
-                      ;
-                      (:properties dependents)
-
-                      )
+        ;targret-visible-access-key (fgc/conjv targret-access-key :visible)
+
+        ; TODO October 12, 2015 initialization check should not be needed since  remove the following comment, but Review Experiment1 for regular evolving
+         ;properties (if initialization
+         ;             (let [ target-properties-already-evovled (fgc/get-evolved-properties container targret-access-key)
+         ;                    to-evolve (if target-properties-already-evovled
+         ;                                (vec (remove target-properties-already-evovled (:properties dependents)))
+         ;                                (:properties dependents))]
+         ;               (if (empty? to-evolve) nil to-evolve))
+         ;
+         ;             ;
+         ;             ;@todo Experiment1. Have some :_parameter in :content-pane that tells this is allowed. Not allowed by default
+         ;             ;
+         ;             ;
+         ;             ;(if (get-in container targret-visible-access-key)
+         ;             ;  (:properties dependents)
+         ;             ;  (do ;(println " Limiting properties for " target-id-path " because it is not visible")
+         ;             ;    (if (some #(= :visible %1) (:properties dependents)) (:properties dependents)))
+         ;             ;  )
+         ;             ;
+         ;             ; It causes bugs with cell :visible :achor :selection when grouping/ungrouping and when
+         ;             ; selecting a row and then scrolling down
+         ;             ;
+         ;             (:properties dependents)
+         ;
+         ;             )
+        properties (:properties dependents)
+        ;_ (if (= [:main :hello] target-id-path) (println "ev-out" properties))
 
          dependent-children1 (:children dependents)
 

                 child-id (first child-pair)
                 child-component (second child-pair)]
            (recur
              (evolve-all ret (fgc/conjv target-id-path child-id) child-component)
              (next children)))
          ret))))
  ([root-container] (evolve-all root-container [(:id root-container)] root-container)))

(declare initialize-internal)


                         pk (fgc/conjv k p)
                         evolver (p (:evolvers tgt))]
                    (if (or initialization evolver)
                      (let [;; Remember: cannot use get in :evolved-properties check because of http://dev.clojure.org/jira/browse/CLJ-700
                            ;; We don track :children change during initialization. Current implementation of initialization
                            ;; that calls account-struc-changes runs into stack overflow if we do this here
                            old-value (if (and initialization (not= p :children))
                                        (let [evolved (get-in aux evolved-properties-key)]
                                          (if (or (nil? evolved) (not (evolved p)))
                                            nil
                                            (p tgt)))
                                        (p tgt))
                             aux-with-p (update-in! aux evolved-properties-key fgc/set-conj! p)
                             root-p (assoc ret :aux-container aux-with-p)
                             aux-with-evolved-dependencies (:aux-container root-p)
                             ;@todo maybe use original value from original-container for currently evolved property while up-to-date for other, probably this is more honest
                             new-value (if evolver (evolver (assoc tgt :root-container root-p :aux-container aux-with-evolved-dependencies)) (p tgt))
                             ;; TODO October 15, 2015: looks like it is the same from now on
                             has-changes-raw (not (= old-value new-value))
                             has-changes has-changes-raw ;(or initialization has-changes-raw)

;                             _ (if (and has-changes (= p :children)) (println " Evolved children count from " (count old-value) " to " (count new-value) " str change "
;                                                                       (and has-changes-raw (= p :children) (or (not (:_flexible-childset tgt)) (empty? old-value)))))
