public function getDefaultChildTemplateId(): int
    {
        if (!empty($this->{self::ATTR_CHILD_TEMPLATE})) {
            return (int) $this->{self::ATTR_CHILD_TEMPLATE};
        }

        $parent = $this->getParent();

        return ($parent && !empty($parent->getGrandchildTemplateId())) ?
            $parent->getGrandchildTemplateId()
            : $this->getTemplateId();
    }