/**
 * @class Ext.util.FilterCollection
 * @extend Ext.util.Collection
 *
 * This class provides a flexible means to control the
 * `{@link Ext.util.Collection#cfg!filters filters}` of a
 * `{@link Ext.util.Collection Collection}`. Instances of this class are created
 * automatically when filters are added to added to Collections.
 *
 * This collection can be directly manipulated by application code to gain full
 * control over the filters of the owner collection. Be aware that some components
 * create filters internally (such as `Ext.form.field.ComboBox` and the
 * `Ext.grid.filters.Filters` plugin) so be careful in such cases to not disturb
 * these additional filters.
 *
 * Items in this collection are `Ext.util.Filter` instances and can be managed
 * individually by their `id`. This is the recommended way to manage application
 * filters while preserving filters applied from other sources.
 *
 * Bulk changes to this collection should be wrapped in
 * `{@link Ext.util.Collection#method!beginUpdate beginUpdate}` and
 * `{@link Ext.util.Collection#method!endUpdate endUpdate}` (as with any collection).
 * During these bulk updates all reactions to filter changes will be suspended.
 */
 
/**
 * @property filterFn
 * This is the cached filter function.
 * @readonly
 */
 
/**
 * @method filterData
 * This method will filter an array based on the currently configured `filters`.
 * @param {Array} data The array you want to have filtered.
 * @return {Array} The array you passed after it is filtered.
 */
 
/**
 * @method getFilterFn
 * Returns the filter function.
 * @return {Function} The filter function.
 */
 
/**
 * @method getFilterCount
 * returns the number of *enabled* filters in this `FilterCollection`
 * @returns {Number}
 */