public static void RegisterCodeBlockStartActionInNonGenerated <TLanguageKindEnum>(
     this SonarAnalysisContext context,
     GeneratedCodeRecognizer generatedCodeRecognizer,
     Action <CodeBlockStartAnalysisContext <TLanguageKindEnum> > action) where TLanguageKindEnum : struct
 {
     context.RegisterCodeBlockStartAction <TLanguageKindEnum>(
         c =>
     {
         if (!c.CodeBlock.SyntaxTree.IsGenerated(generatedCodeRecognizer, c.SemanticModel.Compilation))
         {
             action(c);
         }
     });
 }
 internal void RegisterCodeBlockStartAction <TLanguageKindEnum>(Action <CodeBlockStartAnalysisContext <TLanguageKindEnum> > action) where TLanguageKindEnum : struct
 {
     context.RegisterCodeBlockStartAction(action);
 }