public void RegisterCodeBlockStartAction <TLanguageKindEnum>(DiagnosticAnalyzer analyzer, Action <CodeBlockStartAnalysisContext <TLanguageKindEnum> > action) where TLanguageKindEnum : struct
        {
            CodeBlockStartAnalyzerAction <TLanguageKindEnum> analyzerAction = new CodeBlockStartAnalyzerAction <TLanguageKindEnum>(action, analyzer);

            this.GetOrCreateAnalyzerActions(analyzer).AddCodeBlockStartAction(analyzerAction);
            _codeBlockStartActions = _codeBlockStartActions.Add(analyzerAction);
        }
 internal void AddCodeBlockStartAction <TLanguageKindEnum>(CodeBlockStartAnalyzerAction <TLanguageKindEnum> action) where TLanguageKindEnum : struct
 {
     _codeBlockStartActions = _codeBlockStartActions.Add(action);
 }