protected function removeRecursiveDirectory(string $dirPath): bool
    {
        $itemList = array_diff(scandir($dirPath), ['.', '..']);
        
        foreach ($itemList as $itemName) {
            $itemPath = $dirPath.'/'.$itemName;
            
            if (is_dir($itemPath)) {
                $this->removeRecursiveDirectory($itemPath);
            } else {
                unlink($itemPath);
            }
        }
        
        return rmdir($dirPath);
    }