docs: function _super(methodName, args) {
  	// Keep track of how far up the prototype chain we have traversed,
  	// in order to handle nested calls to _super.
  	if (this._superCallObjects === undefined) { this._superCallObjects = {}; }
  	var oldSuperCallback = this._superCallObjects[methodName],
  		currentObject = oldSuperCallback || this,
  		parentObject  = findSuper(methodName, currentObject),
  		result;
  	this._superCallObjects[methodName] = parentObject;
  
  	try {
  		result = parentObject[methodName].apply(this, args || []);
  	} finally {
  		if (oldSuperCallback) {
  			this._superCallObjects[methodName] = oldSuperCallback;
  		} else {
  			delete this._superCallObjects[methodName];
  		}
  	}
  	return result;
  }