public override SyntaxNode VisitAttribute(AttributeSyntax node)
        {
            var typeName   = string.Empty;
            var identifier = node.Name + "Attribute";

            if (TryGetValue(identifier, out typeName))
            {
                if (typeName.EndsWith("Attribute"))
                {
                    typeName = typeName.Remove(typeName.Length - 9);
                    return(node.WithName(SyntaxFactory.ParseName(typeName)
                                         .WithLeadingTrivia(node.GetLeadingTrivia())
                                         .WithTrailingTrivia(node.GetTrailingTrivia())));
                }
            }
            return(base.VisitAttribute(node));
        }