Из названия функции checkRegion не понятно что она не только возвращает, но и создает регион.

Лучше @layout.checkRegion вызывать уровнем выше