/**
  * {@inheritdoc}
  */
 public function create(\SplFileInfo $rawFile, array $pathInfo, $destFsAlias)
 {
     if ($rawFile instanceof UploadedFile) {
         $size = $rawFile->getClientSize();
         $mimeType = $rawFile->getMimeType();
         $originalFilename = $rawFile->getClientOriginalName();
         $extension = $rawFile->getClientOriginalExtension();
     } else {
         $size = filesize($rawFile->getPathname());
         $mimeType = MimeTypeGuesser::getInstance()->guess($rawFile->getPathname());
         $originalFilename = $rawFile->getFilename();
         $extension = $rawFile->getExtension();
     }
     $file = new $this->fileClass();
     $file->setKey($pathInfo['path'] . $pathInfo['file_name']);
     $file->setGuid($pathInfo['guid']);
     $file->setMimeType($mimeType);
     $file->setOriginalFilename($originalFilename);
     $file->setSize($size);
     $file->setExtension($extension);
     $file->setStorage($destFsAlias);
     return $file;
 }