static class T3 { A a; B b; C c; *() {} *(A *a, B *b, C *c) {} public int hashCode() { ret main.hashCode(a) + 2*main.hashCode(b) - 4*main.hashCode(c); } public bool equals(O o) { if (o == this) true; if (!(o instanceof T3)) false; T3 t = (T3) o; ret eq(a, t.a) && eq(b, t.b) && eq(c, t.c); } }