public function getBreadcrumbItems($maxDepth = 20, $stopAtPageType = false, $showHidden = false)
    {
        // Obtain Model Breadcrumb Items:
        
        $items = $this->owner->data()->getBreadcrumbItems($maxDepth, $stopAtPageType, $showHidden);
        
        // Obtain Extra Breadcrumb Items:
        
        $extra = $this->owner->getExtraBreadcrumbItems();
        
        // Check Breadcrumb Item Instances:
        
        $extra->each(function ($item) {
            
            if (!($item instanceof SiteTree) && !($item instanceof Crumbable)) {
                
                throw new Exception(
                    sprintf(
                        'Item of class "%s" is not a SiteTree object or an implementor of Crumbable',
                        get_class($item)
                    )
                );
                
            }
            
        });
        
        // Merge Extra Breadcrumb Items:
        
        $items->merge($extra);
        
        // Answer Breadcrumb Items:
        
        return $items;
    }