/**
  * Handle a completed upload.
  *
  * @param  \SRIO\RestUploadBundle\Upload\UploadContext $context
  * @param  ResumableUploadSession                      $uploadSession
  * @param  \Gaufrette\File                             $file
  * @return UploadResult
  */
 protected function handleCompletedUpload(UploadContext $context, ResumableUploadSession $uploadSession, File $file)
 {
     $result = new UploadResult();
     $result->setForm($this->form);
     if ($this->form != null) {
         // Submit the form data
         $formData = unserialize($uploadSession->getData());
         $this->form->submit($formData);
     }
     if ($this->form == null || $this->form->isValid()) {
         // Create the uploaded file
         $uploadedFile = new UploadedFile($this->storageHandler->getStorage($context), $file);
         $result->setFile($uploadedFile);
     }
     return $result;
 }