public D plus(D duration) {

        if (duration.isEmpty()) {
            return this.self();
        }

        long value = this.amount;
        return this.with(MathUtils.safeCast(value + duration.getAmount()));

    }
public D plus ( D duration ) { if ( duration . isEmpty ( ) ) { return this . self ( ) ; } long value = this . amount ; return this . with ( MathUtils . safeCast ( value + duration . getAmount ( ) ) ) ; }
/*[deutsch]
<p>Liefert eine Kopie mit der addierten Dauer. </p>

@param   duration    the duration to be added
@return  result of addition as immutable copy
@throws  ArithmeticException if numeric overflow occurs