code: function(parts, date, operation, reset) {
    while (!parts[3].has(date.month() + 1)) {
      date[operation](1, 'months')[reset]('month');
    }
  }
docs: Increments/decrements the month value of a date,
  until a month that matches the schedule is found
  
  @param {array} parts An array of Cron parts.
  @param {Moment} date The date to shift.
  @param {string} operation The function to call on date: 'add' or 'subtract'
  @param {string} reset The function to call on date: 'startOf' or 'endOf'