/**
  * Migrate a single file
  *
  * @param string $base Absolute base path (parent of assets folder)
  * @param File $file
  * @param string $legacyFilename
  * @return bool True if this file is imported successfully
  */
 protected function migrateFile($base, File $file, $legacyFilename)
 {
     // Make sure this legacy file actually exists
     $path = $base . '/' . $legacyFilename;
     if (!file_exists($path)) {
         return false;
     }
     // Copy local file into this filesystem
     $filename = $file->generateFilename();
     $result = $file->setFromLocalFile($path, $filename, null, null, array('conflict' => AssetStore::CONFLICT_OVERWRITE));
     // Move file if the APL changes filename value
     if ($result['Filename'] !== $filename) {
         $file->setFilename($result['Filename']);
     }
     // Save and publish
     $file->write();
     $file->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
     return true;
 }