Суть в том, что в метод может быть передан что то, что изменяется, и тогда либо обосрется Clone, либо Enumerator станет не валидным
Суть в том что есть локи на чтение и на запись, и если другой метод читает, то пусть читает, блокировать должен только тот кто меняет