public static function remove($path = null, array &$logs = array())
    {
        if (is_null($path)) {
            return null;
        }
        if (file_exists($path) && is_dir($path)) {
            if (!is_dir($path) || is_link($path)) {
                if (array_key_exists($path, $logs)) {
                    return false;
                }
                if (unlink($path)) {
                    return true;
                } else {
                    $logs[$path] = sprintf('Can not unlink file "%s".', $path);
                }
            }
            $ok = self::purge($path, $logs);
            if (true===$ok) {
                if (array_key_exists($path, $logs)) {
                    return false;
                }
                if (rmdir($path)) {
                    return true;
                } else {
                    $logs[$path] = sprintf('Can not remove directory "%s".', $path);
                }
            }
            clearstatcache();
            return $ok;
        } else {
            $logs[$path] = sprintf('Directory "%s" not found.', $path);
        }
        return false;
    }