src/js/libs/spiritual-gui.js
function(C, action, thisp, results) {
		results = results || [];
		action = action || gui.Combo.identity;
		C.$subclasses.forEach(function(sub) {
			results.push(action.call(thisp, sub));
			gui.Class.descendants(sub, action, thisp, results);
		}, thisp);
		return results;
	}
function(C, action, thisp, results) {
		results = results || [];
		action = action || gui.Combo.identity;
		C.$subclasses.forEach(function(sub) {
			results.push(action.call(thisp, sub));
			gui.Class.descendants(sub, action, thisp, results);
		}, thisp);
		return results;
	}
function ( C , action , thisp , results ) { results = results || [ ] ; action = action || gui . Combo . identity ; C . $subclasses . forEach ( function ( sub ) { results . push ( action . call ( thisp , sub ) ) ; gui . Class . descendants ( sub , action , thisp , results ) ; } , thisp ) ; return results ; }
Apply action recursively to all derived subclasses of given class.
Returns an array of accumulated results. If no action is provided,
returns array of descendant sublasses.
@param {function} C constructor
@param @optional {function} action
@param @optional {object} thisp
@param @internal {Array<gui.Class|object>} results
@returns {Array<gui.Class|object>}
Apply action recursively to all derived subclasses of given class . Returns an array of accumulated results . If no action is provided returns array of descendant sublasses .