code: function(name, value, refresh) {
          if (name.charAt(0) != '_'  && !Lang.isUndefined(this[name]) && !Lang.isFunction(this[name]) ) {
              this[name] = value;
          } else {
              this.data[name] = value;
          }
          for (var i = 0; i < this.children.length;i++) {
              this.children[i].setNodesProperty(name,value);
          }
          if (refresh) {
              this.refresh();
          }
      }
docs: Sets the value of property for this node and all loaded descendants.
  Only public and defined properties can be set, not methods.
  Values for unknown properties will be assigned to the refNode.data object
  @method setNodesProperty
  @param name {string} Name of the property to be set
  @param value {any} value to be set
  @param refresh {boolean} if present and true, it does a refresh