public override object VisitNamespace_body([NotNull] CSharpParser.Namespace_bodyContext context) { var isServiceNamespace = GetCurrentNamespace() == _serviceFile.ServiceNamespace; if (isServiceNamespace) { _hasServiceNamespace = true; } VisitChildren(context); if (!_hasServiceInterface && isServiceNamespace) { var classInterfaceStopIndex = _cSharpParserService.GetClassInterfaceStopIndex(context); var preclassWhitespace = Tokens.GetHiddenTokensToLeft(context.Start.TokenIndex, Lexer.Hidden); int tabLevels = 1 + ((preclassWhitespace?.Count ?? 0) > 0 ? _stringUtilService.CalculateTabLevels(preclassWhitespace[0]?.Text ?? string.Empty, _tabString) : 0); var interfaceDeclaration = _cSharpParserService.GenerateClassInterfaceDeclaration( _serviceFile.ServiceDeclaration, tabLevels, _tabString); IsModified = true; Rewriter.InsertAfter(classInterfaceStopIndex, interfaceDeclaration); } return(null); }