public override void VisitIndexerDeclaration(IndexerDeclarationSyntax node)
            {
                base.VisitIndexerDeclaration(node);
                if (node.Modifiers.Any(m => m.IsKind(SyntaxKind.VirtualKeyword) || m.IsKind(SyntaxKind.NewKeyword) || m.IsKind(SyntaxKind.PartialKeyword)))
                {
                    return;
                }
                if (node.GetBodies().IsEmpty())
                {
                    return;
                }
                var member = model.GetDeclaredSymbol(node);

                if (member.IsOverride)
                {
                    return;
                }

                if (member.ExplicitInterfaceImplementations().Length > 0)
                {
                    return;
                }
                if (GetImplementingInterface(member, member.ContainingType) != null)
                {
                    return;
                }
                Analyze(node.ParameterList.Parameters, node.GetBodies(), node.Kind());
            }