/**
  * @param mixed $data
  *
  * @return Media
  */
 public function createNew($data)
 {
     $result = null;
     if (is_string($data)) {
         if (strpos($data, 'http') !== 0) {
             $data = 'http://' . $data;
         }
         $parsedUrl = parse_url($data);
         switch ($parsedUrl['host']) {
             case 'www.youtube.com':
             case 'youtube.com':
                 parse_str($parsedUrl['query'], $queryFields);
                 $code = $queryFields['v'];
                 $result = new Media();
                 $video = new RemoteVideoHelper($result);
                 $video->setType('youtube');
                 $video->setCode($code);
                 $result = $video->getMedia();
                 $result->setName('Youtube ' . $code);
                 break;
             case 'www.vimeo.com':
             case 'vimeo.com':
                 $code = substr($parsedUrl['path'], 1);
                 $result = new Media();
                 $video = new RemoteVideoHelper($result);
                 $video->setType('vimeo');
                 $video->setCode($code);
                 $result = $video->getMedia();
                 $result->setName('Vimeo ' . $code);
                 break;
             case 'www.dailymotion.com':
             case 'dailymotion.com':
                 $code = substr($parsedUrl['path'], 7);
                 $result = new Media();
                 $video = new RemoteVideoHelper($result);
                 $video->setType('dailymotion');
                 $video->setCode($code);
                 $result = $video->getMedia();
                 $result->setName('Dailymotion ' . $code);
                 break;
         }
     }
     return $result;
 }