code: func (c *crontime) nextValidDay(baseTime time.Time) {
  	for _, dom := range c.dom {
  		if dom >= c.calculatedTime.Day() {
  			for _, dow := range c.dow {
  				if monthHasDow(dow, dom, int(c.calculatedTime.Month()), c.calculatedTime.Year()) {
  					c.calculatedTime = setDay(c.calculatedTime, dom)
  					//log.Println("Cronbee: Day-INS-1:", c.calculatedTime)
  					return
  				}
  			}
  		}
  	} /* else {
  		for _, dow := range c.dow {
  			if monthHasDow(dow, dom, int(c.calculatedTime.Month()), c.calculatedTime.Year()){
  				c.calculatedTime = setDay(c.calculatedTime, dom)
  				log.Println("Cronbee: Day-INS-2:", c.calculatedTime)
  				return
  			}
  		}
  	}*/
  	// If no result was found try it again in the following month.
  	c.calculatedTime = c.calculatedTime.AddDate(0, 1, 0)
  	c.calculatedTime = setDay(c.calculatedTime, c.dom[0])
  	//log.Println("Cronbee: Day", c.calculatedTime, baseTime)
  	c.nextValidMonth(baseTime)
  	c.nextValidDay(baseTime)
  }
docs: // Calculates the next valid Day based upon the previous results.