Может кто-то увидит проблему, которую не вижу я. Код на примере отрабатывает корректно