public override void ModifyTags(SolutionFolderItem policyParent, Project project, string language, string identifier, string fileName, ref Dictionary <string, string> tags)
{
//prevent parser breakage from missing tags, which SingleFile only provides for DotNetProject
//if ((project as DotNetProject) == null)
// throw new InvalidOperationException ("CodeTranslationFileDescriptionTemplate can only be used with a DotNetProject");
base.ModifyTags(policyParent, project, language, identifier, fileName, ref tags);
//swap out the escaped keyword identifiers for the target language with the source language
//CodeDOM should take care of handling it for the target language
System.CodeDom.Compiler.CodeDomProvider provider = GetCodeDomProvider(sourceLang);
tags ["EscapedIdentifier"] = provider.CreateEscapedIdentifier((string)tags ["Name"]);
//This is a bit hacky doing it here instead of in CreateContent, but need to
//substitute all tags in code before language is translated, because language
//translation gets confused by unsubstituted substitution tokens.
tempSubstitutedContent = StringParserService.Parse(content, tags);
}