@@ -0,0 +1,1577 @@
+package net.sf.jranges.range.longrange.impl;%0A%0Aimport net.sf.jranges.range.RangeException;%0Aimport net.sf.jranges.range.integer.IntegerRange;%0Aimport net.sf.jranges.range.integer.impl.DummyIntegerRange;%0Aimport net.sf.jranges.range.longrange.LongRange;%0A%0Apublic class DummyLongRange extends VeryAbstractLongRange implements LongRange %7B%0A%09%0A%09// Constructor //%0A%0A%09/**%0A%09 * %0A%09 * Construct a new %7B@code DummyLongRange%7D with start and stop values initiated with %7B@code 0%7D.%0A%09 *%0A%09 */%0A%09public DummyLongRange() %7B%0A%09%09this.start = 0;%0A%09%09this.stop = 0;%0A%09%7D%0A%0A%09/**%0A%09 * %0A%09 * Construct a new %7B@code DummyLongRange%7D with given start and stop values.%0A%09 *%0A%09 */%0A%09public DummyLongRange(long start, long stop) %7B%0A%09%09this.start = start;%0A%09%09this.stop = stop;%0A%09%7D%0A%09%0A%09// Public //%0A%0A%09/**%0A%09 * %0A%09 * Set start position for this %7B@code DummyLongRange%7D.%0A%09 *%0A%09 * @param start new start position%0A%09 */%0A%09public void setStart(long start) %7B%0A%09%09this.start = start;%0A%09%7D%0A%0A%09/**%0A%09 * %0A%09 * Set stop position for this %7B@code DummyLongRange%7D.%0A%09 *%0A%09 * @param stop new stop position%0A%09 */%0A%09public void setStop(long stop) %7B%0A%09%09this.stop = stop;%0A%09%7D%0A%0A%09// Implement //%0A%0A%09/**%0A%09 * %0A%09 */%0A%09public LongRange shift(long offset) %7B%0A%09%09return new DummyLongRange(getStart() + offset, getStop() + offset);%0A%09%7D%0A%0A%09/**%0A%09 * %0A%09 */%0A%09public LongRange expandRange(long offset) throws RangeException %7B%0A%09%09return expandRange(offset, false);%0A%09%7D%0A%0A%09/**%0A%09 * %0A%09 */%0A%09public LongRange expandRange(long offset, boolean stayWithinLimits)%0A%09%09%09throws RangeException %7B%0A%09%09long start = getStart() - offset;%0A%09%09long stop = getStop() + offset;%0A%09%09return new DummyLongRange(start, stop);%0A%09%7D%0A%0A%7D%0A

Introduce DummyLongRange.