whole_func_string: function(name) {
  			if (!_.isArray(name))
  				name = [name];
  			
  			// split names and indexes
  			var names = [], indexes = [];
  			_.each(name, function(item) {
  				if (_.isString(item))
  					names.push(item);
  				else if (_.isNumber(item))
  					indexes.push(item);
  			});
  			
  			return _.filter(this.list(), function(attribute, i) {
  				return _.include(indexes, i) || _.include(names, attribute.name());
  			});
  		}
func_code_string: function(name) {
  			if (!_.isArray(name))
  				name = [name];
  			
  			// split names and indexes
  			var names = [], indexes = [];
  			_.each(name, function(item) {
  				if (_.isString(item))
  					names.push(item);
  				else if (_.isNumber(item))
  					indexes.push(item);
  			});
  			
  			return _.filter(this.list(), function(attribute, i) {
  				return _.include(indexes, i) || _.include(names, attribute.name());
  			});
  		}
func_documentation_string: Returns all children by name or indexes
  @param {Object} name Element name(s) or indexes (<code>String</code>,
  <code>Array</code>, <code>Number</code>)
  @returns {Array}