class RangeLongBlock implements Comparable<RangeLongBlock>, Iterable<Long> {

    protected void expand(long value)
    {
        if (value < myStartValue - 1 || value > myEndValue + 1)
        {
            throw new IllegalArgumentException("Expanding RangeLongBlock Can Only Be Done With Neighboring Values");
        }
        if (value == myStartValue - 1)
        {
            myStartValue = value;
        }
        else if (value == myEndValue + 1)
        {
            myEndValue = value;
        }
    }

    public  RangeLongBlock(long value);
    public  RangeLongBlock(long startValue, long endValue);
    public  RangeLongBlock(RangeLongBlock other);

}