/**
  *
  * @param TiiSubmission $submission
  */
 public function replaceSubmission($submission)
 {
     $params_merge = $this->getResubmissionFormHash($submission);
     if (is_null($submission->getSubmissionDataPath()) && is_null($submission->getSubmissionDataUrl())) {
         $params_merge['custom_submission_data'] = $submission->getSubmissionDataText();
     } else {
         if (is_null($submission->getSubmissionDataUrl())) {
             // CURL uploading with @ has been deprecated in PHP 5.5
             if (class_exists('CURLFile')) {
                 $finfo = new finfo(FILEINFO_MIME);
                 $mimetype = $finfo->file($submission->getSubmissionDataPath());
                 $params_merge['custom_submission_data'] = new CurlFile($submission->getSubmissionDataPath(), $mimetype);
             } else {
                 $params_merge['custom_submission_data'] = '@' . $submission->getSubmissionDataPath();
             }
         }
     }
     $transport = $this->transportData($params_merge);
     $response = new Response($this);
     if ($response->getStatusCode() == 'failure') {
         throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription());
     } else {
         $dom = $response->getDomObject();
         $tiiSubmission = new TiiSubmission();
         $tiiSubmission->setSubmissionId($dom->getElementsByTagName('lis_result_sourcedid')->item(0)->nodeValue);
         $tiiSubmission->setTextExtract(@$dom->getElementsByTagName('submission_data_extract')->item(0)->nodeValue);
         $response->setSubmission($tiiSubmission);
     }
     return $response;
 }