protected function cacheIteratorProperties()
    {
        if (self::$iteratorProperties !== null) {
            return;
        }

        self::$iteratorProperties = $this->getPropertiesFromProvider(
            TemplateIteratorProvider::class,
            'get_template_iterator_variables',
            true // Call non-statically
        );
    }