public override Collection <FilterInfo> GetFilterPipeline() { List <FilterInfo> filters = new List <FilterInfo>(_innerDescriptor.GetFilterPipeline()); List <FilterInfo> returnFilters = new List <FilterInfo>(filters.Count); for (int i = 0; i < filters.Count; i++) { // If this filter has been wrapped already, use as is if (FilterTracer.IsFilterTracer(filters[i].Instance)) { returnFilters.Add(filters[i]); } else { IEnumerable <FilterInfo> filterTracers = FilterTracer.CreateFilterTracers( filters[i], _traceWriter ); foreach (FilterInfo filterTracer in filterTracers) { returnFilters.Add(filterTracer); } } } return(new Collection <FilterInfo>(returnFilters)); }
public override Collection <IFilter> GetFilters() { List <IFilter> filters = new List <IFilter>(_innerDescriptor.GetFilters()); List <IFilter> returnFilters = new List <IFilter>(filters.Count); for (int i = 0; i < filters.Count; i++) { if (FilterTracer.IsFilterTracer(filters[i])) { returnFilters.Add(filters[i]); } else { IEnumerable <IFilter> filterTracers = FilterTracer.CreateFilterTracers( filters[i], _traceWriter ); foreach (IFilter filterTracer in filterTracers) { returnFilters.Add(filterTracer); } } } return(new Collection <IFilter>(returnFilters)); }