/// <summary>
		/// Ask the use for confirmation of the migration
		/// </summary>
		/// <returns>Use answer</returns>
		/// <param name="monitor">Progress monitor</param>
		/// <param name="project">MSBuild project instance, if available</param>
		/// <param name="fileName">Project path</param>
		/// <param name="language">Language name (for .NET projects).</param>
		public virtual Task<MigrationType> PromptForMigration (ProjectLoadProgressMonitor monitor, MSBuildProject project, string fileName, string language)
		{
			throw new NotImplementedException ();
		}
		/// <summary>
		/// Executes the proejct migration
		/// </summary>
		/// <param name="monitor">Progress monitor</param>
		/// <param name="project">MSBuild project instance, if available</param>
		/// <param name="fileName">Project path</param>
		/// <param name="language">Language name (for .NET projects).</param>
		public abstract Task<bool> Migrate (ProjectLoadProgressMonitor monitor, MSBuildProject project, string fileName, string language);