internal static MethodDeclarationSyntax CreateIEnumerableFromParamsArrayMethod(MetaField field, MethodDeclarationSyntax paramsArrayMethod)
 {
     return paramsArrayMethod
         .WithParameterList(SyntaxFactory.ParameterList(SyntaxFactory.SingletonSeparatedList(
             SyntaxFactory.Parameter(ValuesParameterName.Identifier)
                 .WithType(Syntax.IEnumerableOf(GetFullyQualifiedSymbolName(field.ElementType))))));
 }
        public static MethodDeclarationSyntax AppendParameterToMethod(MethodDeclarationSyntax method,
            ParameterSyntax parameter)
        {
            if (method.ParameterList.Parameters.Any())
            {
                parameter = parameter.WithLeadingTrivia(SF.Space);
            }

            return method.WithParameterList(method.ParameterList.AddParameters(parameter));
        }
 private static ClassDeclarationSyntax UpdateClassToUseNewParameterClass(string className, ClassDeclarationSyntax classOld, MethodDeclarationSyntax methodOld)
 {
     var newParameter = SyntaxFactory.Parameter(SyntaxFactory.Identifier(FirstLetteToLower(className))).WithType(SyntaxFactory.ParseTypeName(className));
     var parameters = SyntaxFactory.ParameterList(SyntaxFactory.SeparatedList<ParameterSyntax>().Add(newParameter));
     var newMethod = methodOld.WithParameterList(parameters);
     var newClass = classOld.ReplaceNode(methodOld, newMethod);
     return newClass;
 }
 private ParameterSyntax RemoveOutParameter(MethodDeclarationSyntax syntax, out MethodDeclarationSyntax convertedSyntax)
 {
     var list = syntax.ParameterList;
     ParameterSyntax outParam = null;
     foreach (var parameter in list.Parameters)
     {
         if (parameter.Modifiers.Count > 0)
         {
             foreach (var mod in parameter.Modifiers)
             {
                 if (mod.ToString().Equals("out"))
                 {
                     outParam = parameter;
                 }
             }
         }
     }
     convertedSyntax = syntax.WithParameterList(list.WithParameters(list.Parameters.Remove(outParam)));
     return outParam;
 }