src/js/libs/spiritual-gui.js
function(C, action, thisp) {
		var results = this.ancestorsAndSelf(C).concat(this.descendants(C));
		if (action) {
			results = results.map(function(C) {
				return action.call(thisp, C);
			});
		}
		return results;
	}
function(C, action, thisp) {
		var results = this.ancestorsAndSelf(C).concat(this.descendants(C));
		if (action) {
			results = results.map(function(C) {
				return action.call(thisp, C);
			});
		}
		return results;
	}
function ( C , action , thisp ) { var results = this . ancestorsAndSelf ( C ) . concat ( this . descendants ( C ) ) ; if ( action ) { results = results . map ( function ( C ) { return action . call ( thisp , C ) ; } ) ; } return results ; }
Return ancestor classes, descendant classes and class itself. If action is
provided, return array of the results of executing the action for each
related class and class itself with the class as argument.
@param {constructor} C
@param @optional {function} action Takes the class as argument
@param @optional {object} thisp
@returns {Array<<gui.Class|object>>}
Return ancestor classes descendant classes and class itself . If action is provided return array of the results of executing the action for each related class and class itself with the class as argument .