Get all related data but ignore if already fetched by records before
public static string[] GetRelatedData(string[] records) { var relatedData = new List<string>(); foreach (var record in records) { var data = GetRelatedData(record); foreach (var item in data) { if (!relatedData.Contains(item)) relatedData.Add(item); } } return relatedData.ToArray(); }