/// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        public override void VisitInterfaceDeclaration(InterfaceDeclarationSyntax node)
        {
            var translationUnit = new InterfaceDefinitionTranslationUnitFactory(node, this.semanticModel).Create();

            (translationUnit as InterfaceDefinitionTranslationUnit).IsAtRootLevel = false;
            this.module.AddInterface(translationUnit);

            this.InvokeInterfaceDeclarationVisited(this, new WalkerEventArgs());
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        public override void VisitInterfaceDeclaration(InterfaceDeclarationSyntax node)
        {
            var translationUnit = new InterfaceDefinitionTranslationUnitFactory(node, this.semanticModel).Create();

            (translationUnit as InterfaceDefinitionTranslationUnit).IsAtRootLevel = true;
            this.program.AddContent(translationUnit);

            this.LogVisitInterfaceDeclaration(node); // Logging

            this.InvokeInterfaceDeclarationVisited(this, new WalkerEventArgs());
        }