code: function (value, amount, min, max) {
              var diff = value - min;
              var range = max - min + 1;
              amount %= range;
              return min + (diff + amount + range) % range;
          }
docs: add the year of the given calendar field.
  @method addYear
  @param {Number} amount the signed amount to add to field.
   
  add the month of the given calendar field.
  @method addMonth
  @param {Number} amount the signed amount to add to field.
   
  add the day of month of the given calendar field.
  @method addDayOfMonth
  @param {Number} amount the signed amount to add to field.
   
  add the hour of day of the given calendar field.
  @method addHourOfDay
  @param {Number} amount the signed amount to add to field.
   
  add the minute of the given calendar field.
  @method addMinute
  @param {Number} amount the signed amount to add to field.
   
  add the second of the given calendar field.
  @method addSecond
  @param {Number} amount the signed amount to add to field.
   
  add the millisecond of the given calendar field.
  @method addMilliSecond
  @param {Number} amount the signed amount to add to field.
   
  add the week of year of the given calendar field.
  @method addWeekOfYear
  @param {Number} amount the signed amount to add to field.
   
  add the week of month of the given calendar field.
  @method addWeekOfMonth
  @param {Number} amount the signed amount to add to field.
   
  add the day of year of the given calendar field.
  @method addDayOfYear
  @param {Number} amount the signed amount to add to field.
   
  add the day of week of the given calendar field.
  @method addDayOfWeek
  @param {Number} amount the signed amount to add to field.
   
  add the day of week in month of the given calendar field.
  @method addDayOfWeekInMonth
  @param {Number} amount the signed amount to add to field.
   
  Get rolled value for the field
  @protected