rem: var old = self.parent; 
add: current.parent = self.parent = previous.bind(self); var value = current.apply(self, arguments); 
context: 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':						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;						};					case 'object': return $merge(previous, current);					default: return current;				}			}			return previous;		})(kp, sp);	}};
meta: 7826	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/7826/96c24ecec9c46f39c9c946f1888c161042c431dd/Class.js/buggy/Source/Class/Class.js