code: public Partial withFieldAddWrapped(DurationFieldType fieldType, int amount) {
          int index = indexOfSupported(fieldType);
          if (amount == 0) {
              return this;
          }
          int[] newValues = getValues();
          newValues = getField(index).addWrapPartial(this, index, newValues, amount);
          return new Partial(this, newValues);
      }
docs: Gets a copy of this Partial with the value of the specified field increased.
  If this partial does not support the field, an exception is thrown.
  <p>
  If the addition is zero, then <code>this</code> is returned.
  The addition will overflow into larger fields (eg. minute to hour).
  If the maximum is reached, the addition will wrap.
  
  @param fieldType  the field type to add to, not null
  @param amount  the amount to add
  @return a copy of this instance with the field updated
  @throws IllegalArgumentException if the value is null or invalid
  @throws ArithmeticException if the new datetime exceeds the capacity