Buggy code:
class ListOfN < T > implements List < T > { final T [ ] items ; ListOfN ( T [ ] newElements ) { } @ Override public String toString ( ) { } @ Override public int hashCode ( ) { } @ Override public boolean equals ( Object otherList ) { } private boolean regularListEquals ( Iterable < ? > otherList ) { } private boolean randomAccessListEquals ( ReadOnlyList < ? > otherList ) { } @ Override public Stream < T > stream ( ) { } @ Override public Stream < T > parallelStream ( ) { } @ Override public Iterator < T > iterator ( ) { } @ Override public Spliterator < T > spliterator ( ) { } @ Override public int size ( ) { } @ Override public boolean isEmpty ( ) { } @ Override public boolean notEmpty ( ) { } @ Override public boolean contains ( T o ) { } @ Override public boolean containsAll ( Iterable < T > collection ) { } @ Override public Object [ ] toArray ( ) { } @ Override public T [ ] toArray ( IntFunction < T [ ] > generator ) { } @ Override public T [ ] toArray ( T [ ] a ) { } @ Override public < E extends Exception > ListOfN < T > each ( ExConsumer < T , E > action ) throws E { } @ Override public < E extends Exception > ListOfN < T > eachWithIndex ( ExObjIntConsumer < T , E > action ) throws E { } @ Override public List < T > add ( T element ) { } @ Override public List < T > add ( int index , T element ) { } @ Override public List < T > addAll ( Iterable < T > collection ) { } public List < T > addAll ( ListOfN < T > source ) { } @ Override public List < T > addAll ( int index , Iterable < T > collection ) { } public List < T > addAll ( int index , ListOfN < T > source ) { } @ Override public T get ( int index ) { <START_BUG> index = ArrayList . adjustIndexToPositiveInts ( index , size ( ) ) ; <END_BUG> return items [ index ] ; } @ Override public int indexOf ( Object item ) { } @ Override public int lastIndexOf ( Object item ) { } @ Override public ListIterator < T > listIterator ( ) { } @ Override public ListIterator < T > listIterator ( int index ) { } @ Override public < U , E extends Exception > List < U > map ( ExFunction < T , U , E > mapper ) throws E { } @ Override public < E extends Exception > double [ ] mapToDouble ( ExToDoubleFunction < ? super T , E > doubleFunction ) throws E { } @ Override public < E extends Exception > int [ ] mapToInt ( ExToIntFunction < ? super T , E > intFunction ) throws E { } @ Override public < E extends Exception > long [ ] mapToLong ( ExToLongFunction < ? super T , E > longFunction ) throws E { } @ Override public < E extends Exception > List < T > replaceAll ( ExUnaryOperator < T , E > mapper ) throws E { } @ SafeVarargs private static < T > ExPredicate < T , RuntimeException > inPredicates ( T ... array ) { } private static < T > boolean containsIterate ( Collection < ? > iterable , T value ) { } private static < T , E extends Exception > boolean allSatisfyIterate ( Iterable < T > iterable , ExPredicate < T , E > predicate ) throws E { } private static < T , E extends Exception > boolean allSatisfyIterableIterate ( Iterable < T > iterable , ExPredicate < ? super T , E > predicate ) throws E { } private static < T , E extends Exception > boolean allSatisfyIteratorIterate ( Iterator < T > iterator , ExPredicate < ? super T , E > predicate ) throws E { } private static < T , E extends Exception > boolean allSatisfyRandomAccessListIterate ( List < T > list , ExPredicate < ? super T , E > predicate ) throws E { } private static < T , E extends Exception > boolean allSatisfyArrayListIterate ( ArrayList < T > list , ExPredicate < T , E > predicate ) throws E { } private static < T > int indexOfArrayIterate ( T [ ] objectArray , T elem ) { } private static < T > ExPredicate < T , RuntimeException > equalPredicates ( T object ) { } private static < T , E extends Exception > int detectIndexArrayIterate ( T [ ] objectArray , ExPredicate < T , E > predicate ) throws E { } private static < T > T [ ] newArray ( int size ) { } private static < T > ExPredicate < T , RuntimeException > equal2 ( T object ) { } private < E extends Exception > boolean anySatisfy ( ExPredicate < T , E > predicate ) throws E { } private static < T , E extends Exception > boolean anySatisfy2 ( T [ ] objectArray , ExPredicate < T , E > predicate ) throws E { } @ Override public List < T > addAll ( @ SuppressWarnings ( "unchecked" ) T ... values ) { } @ Override public List < T > toList ( ) { } @ Override public ArrayList < T > toArrayList ( ) { }

Fix:
index = ArrayList . adjustIndexToPositiveInts ( index , ( ( size ( ) ) - 1 ) ) ;