public List<BankEntity> Fetch(IViewportFilter filter, Options filterOptions) { var filteredEntities = LocalEntityCache.FilteredEntities (filter); List<BankEntity> filteredEntitiesCopy = new List<BankEntity>(filteredEntities); foreach (Type aEntityFilter in filterOptions.FiltersForSelection()) { filteredEntitiesCopy = ((EntityFilter)Activator.CreateInstance (aEntityFilter, filteredEntitiesCopy)).FilteredList (); } return filteredEntitiesCopy; }