TimeSpan P_SelectNextPeriod() { if (_periodVariance == TimeSpan.Zero) { return(_period); } else { var selectedPeriod = _period; var varianceLimitTicks = Math.Abs(_periodVariance.Ticks); var selectedVariance = new TimeSpan(ticks: RandomUtilities.NextInt64(minInclusive: 0L, maxExclusive: varianceLimitTicks)).RoundToMilliseconds(); if (varianceLimitTicks < 0L) { selectedPeriod = selectedPeriod.Subtract(ts: selectedVariance); } else { selectedPeriod = selectedPeriod.Add(ts: selectedVariance); } return(selectedPeriod); } }