protected abstract Range createRange(Integer integer1, Integer integer2);
protected abstract Range createRange(Integer integer);
    protected abstract Range createRange(Integer integer1, Integer integer2);