public override SyntaxNode VisitAttribute(AttributeSyntax node)
            {
                if (node.Name is IdentifierNameSyntax newNameNode)
                {
                    if (newNameNode.Identifier.ValueText.EndsWith(Attribute_Keywork))
                    {
                        var orginalNodeTypeInfo = semanticModel.GetTypeInfo(node.Name);

                        if (orginalNodeTypeInfo.Type == null)
                        {
                            base.VisitAttribute(node);
                        }

                        if (orginalNodeTypeInfo.Type.Name == newNameNode.Identifier.ValueText)
                        {
                            var newName = newNameNode.Identifier.ValueText.TrimEnd(Attribute_Keywork);

                            if (isReportOnlyMode)
                            {
                                var lineSpan = node.GetFileLinePosSpan();

                                AddReport(new ChangesReport(node)
                                {
                                    LineNumber = lineSpan.StartLinePosition.Line,
                                    Column     = lineSpan.StartLinePosition.Character,
                                    Message    = "Attributes should not ended with \"Attribute\"",
                                    Generator  = nameof(RemoveAttributeKeywork)
                                });
                            }

                            node = node.WithName(SyntaxFactory.IdentifierName(newName));
                        }
                    }
                }

                return(base.VisitAttribute(node));
            }