public static function removeDirectory($directory)
 {
     if (self::exists($directory)) {
         $dir = new self($directory);
         $dir->scan();
         $files = $dir->getFiles();
         foreach ($files as $file) {
             $file->remove();
         }
         $dirs = $dir->getDirectories();
         foreach ($dirs as $dir) {
             self::removeDirectory($dir);
         }
         return rmdir($directory);
     }
 }