public List <Job> Find(Func <Job, bool> condition) { lock (_queueState) { var aggregated = Replicator.CopyAll(_queuedJobs.ToList(), _pendingJobs.ToList(), _activeJobs, _completedJobs, _failedJobs, _abortedJobs); return((from j in aggregated where condition(j) select j).ToList()); } }