public List <KeyValuePair <uint, PhysicsObj> > GetKnownObjectsWhere(Func <KeyValuePair <uint, PhysicsObj>, bool> predicate) { rwLock.EnterReadLock(); try { return(KnownObjects.Where(predicate).ToList()); } finally { rwLock.ExitReadLock(); } }