case 'function': return function(){ current.parent = this.parent = previous.bind(this); return current.apply(this, arguments); }; 
case 'function': current.parent = previous.bind(self); return function(){ var old = self.parent; self.parent = current.parent; var value = current.apply(self, arguments); self.parent = old; return value; }; 
Class.Extends = function(self, klass){	klass = new klass($empty);	for (var property in klass){		var kp = klass[property];		var sp = self[property];		self[property] = (function(previous, current){			if ($defined(current) && previous != current){				var type = $type(current);				if (type != $type(previous)) return current;				switch (type){					case 'function': return function(){						current.parent = this.parent = previous.bind(this);						return current.apply(this, arguments);					};					case 'object': return $merge(previous, current);					default: return current;				}			}			return previous;		})(kp, sp);	}};
5733	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5733/aa8dc1776dbeec17ac76b82ec6625b6a647ed7f1/Class.js/clean/Source/Class/Class.js