public static RecordSet RemoveUnrequestedFields(RecordSet recordSet, IEnumerable <Field> listOfRequestedFields) { RecordSet newRecordSet = recordSet.Clone(); Field[] listOfAvailableFields = recordSet.Schema.Fields.ToArray(); foreach (var field in recordSet.Schema.Fields) { if (listOfRequestedFields.Count(f => f.Name == field.Name) == 0) { newRecordSet.RemoveField(field); } } return(newRecordSet); }