private PaymentDate CalculateStartDate(DateTime startPaymentDate, DateTime filterBeginDate) { var proposed = new PaymentDate(startPaymentDate); while (proposed.Date < filterBeginDate) { proposed = CalculateNextPaymentDate(proposed); } this.diagLogger.LogInfo( l => l.Format(" Payment Start Date: {0} ({1})", proposed.Date, proposed.ScheduledDate)); return proposed; }