def realign(step_time, start_time)
      time = TimeUtil::TimeWrapper.new(start_time)
      offset = wday_offset(step_time, start_time)
      time.add(:day, offset)
      super step_time, time.to_time
    end
def realign(step_time, start_time)
      time = TimeUtil::TimeWrapper.new(start_time)
      offset = wday_offset(step_time, start_time)
      time.add(:day, offset)
      super step_time, time.to_time
    end
Move the effective start time to correct for when the schedule has
 validations earlier in the week than the selected start time, e.g.

     Schedule.new(wednesday).weekly(2).day(:monday)

 The effective start time gets realigned to the second next Monday, jumping
 over the gap week for the interval (2). Without realignment, the correct
 Monday occurrence would be missed when the schedule performs a 7-day jump
 into the next interval week, arriving on the Wednesday. This corrects any
 selections from dates that are misaligned to the schedule interval.