/**
  * Download asset file to a local path.
  *
  * @param WindowsAzure\MediaServices\Models\AssetFile $assetFile Asset file to download
  * @param WindowsAzure\MediaServices\Models\Locator   $locator   Read locator for
  *                                                               downloading the asset file
  * @param string                                      $path      Destination root path
  *
  * @return none
  */
 public function downloadAssetFile($assetFile, $locator, $path)
 {
     Validate::isA($assetFile, 'WindowsAzure\\MediaServices\\Models\\AssetFile', 'assetFile');
     Validate::isA($locator, 'WindowsAzure\\Mediaservices\\Models\\Locator', 'locator');
     Validate::isString($path, 'path');
     Validate::pathExists($path);
     $downloadUrl = $locator->getBaseUri() . '/' . $assetFile->getName() . $locator->getContentAccessComponent();
     $filePath = $path . '/' . $assetFile->getName();
     return file_put_contents($filePath, fopen($downloadUrl, 'r'));
 }