public function generateBlocks($parent = null)
    {
        if ($parent instanceof Mage_Core_Model_Layout_Element) {
            // This prevents processing child blocks if the parent block fails a conditional check
            if (!$this->checkConditionals($parent)) {
                return;
            }

            // This is handled here so it catches 'block' and 'reference' elements
            $this->processOutputAttribute($parent);
        }

        parent::generateBlocks($parent);
    }