public boolean sortedBetween (E[] array, int left, int right) { assert array != null : "precondition"; assert left >= 0 : "precondition"; assert right < array.length : "precondition"; if( left >= right || ! array[left].compareTo(array[left + 1]) <= 0)) { return left == right; } return sortedBetween(array, left++, right); }