class Tuple4 extends Tuple3<T1, T2, T3> implements Tuple {

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

        if (index == 3) {
            return item4;
        } else {
            return super.nth(index);
        }
    }

      Tuple4(T1 a, T2 b, T3 c, T4 d);

}