private double NextSwapGroupInSeconds(PerModeSettings perMode)
{
if (fFullUnstackSwapTimestamp == DateTime.MinValue) return 0;
if (fUnstackGroupCount > 0 && fUnstackGroupCount <= perMode.NumberOfSwapsPerGroup) return 0;
double since = DateTime.Now.Subtract(fFullUnstackSwapTimestamp).TotalSeconds;
if (since > perMode.DelaySecondsBetweenSwapGroups) return 0;
return (perMode.DelaySecondsBetweenSwapGroups - since);
}