public static function allocate($filename = null, $extension = ".rnd", $folder = null)
    {
        if ($filename === null) {
            $filename = sha1(time() . "_" . microtime(true));
        }
        if ($folder) {
            $ffolder = new Filesystem($folder);
            if (!$ffolder->exists()) {
                $ffolder->mkdir();
            }
        }
        $file = new Filesystem($folder . '/' . $filename . $extension);
        //$this->getStorage() . "/{$filename}{$extension}";
        return $file;
    }