MutableInterval is the standard implementation of a mutable time interval.
A time interval represents a period of time between two instants. Intervals are inclusive of the start instant and exclusive of the end. The end instant is always greater than or equal to the start instant.
Intervals have a fixed millisecond duration. This is the difference between the start and end instants. The duration is represented separately by {@link ReadableDuration}. As a result, intervals are not comparable. To compare the length of two intervals, you should compare their durations.
An interval can also be converted to a {@link ReadablePeriod}. This represents the difference between the start and end points in terms of fields such as years and days.
If performing significant calculations on an interval, it may be faster to convert an Interval object to a MutableInterval one.
MutableInterval is mutable and not thread-safe, unless concurrent threads are not invoking mutator methods.
@author Stephen Colebourne
@author Brian S O'Neill
@since 1.0