/**
  * Removes the given directory recursive.
  *
  * @param DirectoryIterator $it The context directory iterator.
  *
  * @return void
  */
 private static function deleteDirectoryRecursive(DirectoryIterator $it)
 {
     foreach ($it as $file) {
         if ($it->isDot()) {
             continue;
         } else {
             if ($it->isDir()) {
                 self::deleteDirectoryRecursive($it->getChildren());
                 rmdir($it->getPathname());
             } else {
                 unlink($it->getPathname());
             }
         }
     }
 }