public HashSet <Struct> GetStructTypesUsingStructType(Struct structInfo) { result.Set(structInfo); foreach (var otherStruct in structCache.GetUsedBy(structInfo)) { if (!result.Contains(otherStruct)) { GetStructTypesUsingStructType(otherStruct); } } return(result); }