code: public DateMidnight withFieldAdded(DurationFieldType fieldType, int amount) {
          if (fieldType == null) {
              throw new IllegalArgumentException("Field must not be null");
          }
          if (amount == 0) {
              return this;
          }
          long instant = fieldType.getField(getChronology()).add(getMillis(), amount);
          return withMillis(instant);
      }
docs: Returns a copy of this date with the value of the specified field increased.
  <p>
  If the addition is zero or the field is null, then <code>this</code> is returned.
  <p>
  These three lines are equivalent:
  <pre>
  DateMidnight added = dt.withFieldAdded(DateTimeFieldType.year(), 6);
  DateMidnight added = dt.plusYears(6);
  DateMidnight added = dt.year().addToCopy(6);
  </pre>
  
  @param fieldType  the field type to add to, not null
  @param amount  the amount to add
  @return a copy of this datetime with the field updated
  @throws IllegalArgumentException if the value is null or invalid
  @throws ArithmeticException if the new datetime exceeds the capacity of a long