private static void GetUniquePeptides_helper(IList <QuantitationChannelSet> sets, int setIndex, HashSet <IQuantitationChannel> channels, List <HashSet <IQuantitationChannel> > result)
{
if (setIndex >= sets.Count)
{
result.Add(new HashSet <IQuantitationChannel>(channels));
}
else
{
QuantitationChannelSet currentSet = sets[setIndex];
foreach (IQuantitationChannel channel in currentSet.GetChannels())
{
channels.Add(channel);
GetUniquePeptides_helper(sets, setIndex + 1, channels, result);
channels.Remove(channel);
}
}
}