code: function(C, action, thisp) {
  		var results = [];
  		action = action || gui.Combo.identity;
  		results.push(action.call(thisp, C));
  		return this.descendants(C, action, thisp, results);
  	}
docs: Return descendant classes and class itself. If action is provided, return
  array of the results of executing the action for each descendant class
  and class itself with the class as argument.
  @param {function} C constructor
  @param @optional {function} action
  @param @optional {object} thisp
  @returns {Array<gui.Class|object>}