this.
А я вот не очень понял второе, в случае там может быть ошибка?
ну например, у тебя есть лист {3,4,5,6,7,8} , ты сделал линк list.Where(onlyEven) и передал его в метод.
К моменту выполнения у тебя лист уже мог измениться и ты ловишь ошибку потому что данные то после where не зафиксированы, а лист вообще очистился. Лучше бы было , если хочешь принимать разные коллекции, засунуть ICollections какой-нибудь