private ConversionOperatorDeclarationSyntax ToBuilderTypeConversion()
        {
            var parameters = new[] {
                "argument".ToParameter(GetOriginalTypeSyntax())
            };

            return(ConversionOperatorDeclaration(
                       ImplicitKeyword.ToToken(),
                       "Builder".ToIdentifierName())
                   .WithParameterList(parameters.ToParameterList())
                   .WithModifiers(PublicKeyword, StaticKeyword)
                   .WithAttributeLists(GetMethodAttributes())
                   .WithBody(GetBuilderTypeStatements().ToBlock()));
        }
        private ConversionOperatorDeclarationSyntax ToOriginalTypeConversion()
        {
            var parameters = new[] {
                "argument".ToParameter("Builder".ToIdentifierName())
            };

            var statements = new StatementSyntax[] {
                ReturnStatement("argument".AccessTo("Build").ToInvocation())
            };

            return(ConversionOperatorDeclaration(
                       ImplicitKeyword.ToToken(),
                       GetOriginalTypeSyntax())
                   .WithParameterList(parameters.ToParameterList())
                   .WithModifiers(PublicKeyword, StaticKeyword)
                   .WithAttributeLists(GetMethodAttributes())
                   .WithBody(Block(statements)));
        }