context: proto.clone = function(cloneRecursive, customPropertyList){  var cloneInstance = new this.constructor;  var propertyName;  var propertyList = [];  var propertyIngoreList = this._clonePropertyIgnoreList.split(",");  // Build new filtered property list  var sourcePropertyList = isValid(customPropertyList) ? customPropertyList : this._properties.split(",");  var sourcePropertyListLength = sourcePropertyList.length-1;  do {    propertyName = sourcePropertyList[sourcePropertyListLength];    if (!propertyIngoreList.contains(propertyName)) {      propertyList.push(propertyName);    };  }  while(sourcePropertyListLength--);  // Apply properties to new clone instance  propertyListLength = propertyList.length-1;  do {    propertyName = propertyList[propertyListLength].toFirstUp();    cloneInstance["set" + propertyName](this["get" + propertyName]());  }  while(propertyListLength--);  // post apply parent info  if (sourcePropertyList.contains("parent"))  {    var myParent = this.getParent();    if (myParent) {      cloneInstance.setParent(myParent);    };  };  // post apply (ignored) visibility and display  // (to not modify default creation handling)  if (sourcePropertyList.contains("visibility")) {    cloneInstance.setVisibility(this.getVisibility());  };  if (sourcePropertyList.contains("display")) {    cloneInstance.setDisplay(this.getDisplay());  };  // clone recursion  if (cloneRecursive) {    this._cloneRecursive(cloneInstance);  };  return cloneInstance;};
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/c7e4ac1d4921530b9dd9e8a1aa5939b177ceed80/QxWidget.js/buggy/qooxdoo/source/script/widgets/QxWidget.js