public Period minusMonths(long monthsToSubtract) {
        return (monthsToSubtract == Long.MIN_VALUE ? plusMonths(Long.MAX_VALUE).plusMonths(1) : plusMonths(-monthsToSubtract));
    }
public Period minusMonths ( long monthsToSubtract ) { return ( monthsToSubtract == Long . MIN_VALUE ? plusMonths ( Long . MAX_VALUE ) . plusMonths ( 1 ) : plusMonths ( - monthsToSubtract ) ) ; }
Returns a copy of this period with the specified months subtracted.
<p>
This subtracts the amount from the months unit in a copy of this period.
The years and days units are unaffected.
For example, "1 year, 6 months and 3 days" minus 2 months returns "1 year, 4 months and 3 days".
<p>
This instance is immutable and unaffected by this method call.

@param monthsToSubtract  the years to subtract, positive or negative
@return a {@code Period} based on this period with the specified months subtracted, not null
@throws ArithmeticException if numeric overflow occurs