if( isInfinite( start ) )
throw new IllegalArgumentException( "Cannot handle infinite values" );
IDateTimeValueType duration = TIME_ZERO.add( (ITimeDurationValueType) start );
BigDecimal millis = new BigDecimal( duration.toCalendar().getTimeInMillis() );
BigDecimal succ = millis.add( new BigDecimal( n ) );
return TimeDurationFactory.create( null, null, null, null, null, succ );
}