code: function () {
        if (this.edirty) {
            var en=this.attEltNodes;
            if (en) {
                for (var i=0,sz=en.length; sz>i; i++) {
                    en[i].refresh();
                }
                // if content changed we have to rebuild childElements
                this.retrieveAttElements();
                this.initChildComponents();
            }
            // Change content of the controller
            json.set(this.controller,"$content",this.getControllerContent());
  
            this.edirty=false;
        }
        // warning: the following refresh may change the component type and
        // as such ctlWrapper could become null if new component is a template
        $CptNode.refresh.call(this);
        if (this.ctlWrapper) {
          // refresh cpt through $refresh if need be
          this.ctlWrapper.refresh();
        }
    }
docs: Refresh the sub-template arguments and the child nodes, if needed