java: public E get(int location) {try {return a[location];} catch (ArrayIndexOutOfBoundsException e) {throw java.util.ArrayList.throwIndexOutOfBoundsException(location, a.length);}}
C#: public override E get(int location){try{return a[location];}catch (System.IndexOutOfRangeException){throw java.util.ArrayList<E>.throwIndexOutOfBoundsException(location, a.Length);}}