public ISecondaryDocumentGenerationResult Generate(PrimaryFileModificationInfo modificationInfo)
    {
      var sourceFile = modificationInfo.SourceFile;
      var psiFile = modificationInfo.NewPsiFile as IPsiFile;

      PsiLanguageType language = psiFile != null ? psiFile.Language : PsiLanguage.Instance;

      var gen = new CSharpFromPsiGenerator();
      GenerationResults result = gen.Generate(psiFile);
      return new SecondaryDocumentGenerationResult(
        sourceFile,
        result.Text.ToString(),
        CSharpLanguage.Instance,
        new RangeTranslatorWithGeneratedRangeMap(result.GeneratedRangeMap),
        LexerFactoryWithPreprocessor(language)
        );
    }
        public ISecondaryDocumentGenerationResult Generate(PrimaryFileModificationInfo modificationInfo)
        {
            var sourceFile = modificationInfo.SourceFile;
            var psiFile    = modificationInfo.NewPsiFile as IPsiFile;

            PsiLanguageType language = psiFile != null ? psiFile.Language : PsiLanguage.Instance;

            var gen = new CSharpFromPsiGenerator();
            GenerationResults result = gen.Generate(psiFile);

            return(new SecondaryDocumentGenerationResult(
                       sourceFile,
                       result.Text.ToString(),
                       CSharpLanguage.Instance,
                       new RangeTranslatorWithGeneratedRangeMap(result.GeneratedRangeMap),
                       LexerFactoryWithPreprocessor(language)
                       ));
        }