public EmployeeListViewModel(IRepository <Employee> repository, bool largeMode, IOperationTimer operationTimer) { timer = operationTimer.Begin("Employee view model"); this.repository = repository; this.operationTimer = operationTimer; if (largeMode) { const int maxSize = 10000; var largeList = new List <Employee>(maxSize); var collection = this.repository.GetAll().ToArray(); for (int i = 0; i < maxSize / 500; i++) { largeList.AddRange(collection); } this.employees = new ObservableCollection <Employee>(largeList); } else { this.employees = new ObservableCollection <Employee>(this.repository.GetAll()); } timer.End(timer); Debug.WriteLine(timer); }