class Tuple3 extends Tuple2<T1, T2> implements Tuple {

    @Override
    public Object nth(int index) {
        assertIndexInBounds(index);

        if (index == 2) {
            return item3;
        } else {
            return super.nth(index);
        }
    }

      Tuple3(T1 a, T2 b, T3 c);

}