private static MemberDeclarationSyntax LastField( SyntaxList<MemberDeclarationSyntax> members, FieldDeclarationSyntax fieldDeclaration) { var lastConst = members.AsEnumerable() .OfType<FieldDeclarationSyntax>() .Where(f => f.Modifiers.Any(SyntaxKind.ConstKeyword)).LastOrDefault(); // Place a const after the last existing const. if (fieldDeclaration.Modifiers.Any(SyntaxKind.ConstKeyword)) { return lastConst; } // Place a field after the last field, or after the last const. return LastField(members) ?? lastConst; }