public class DelegateGenerics<T> { I1<T> target; @java.lang.SuppressWarnings("all") public java.lang.Integer t(final java.lang.Integer t) { return this.target.t(t); } @java.lang.SuppressWarnings("all") public java.lang.String i(final java.lang.String a) { return this.target.i(a); } @java.lang.SuppressWarnings("all") public T a(final T a) { return this.target.a(a); } } interface I1<T> extends I2<T, Integer, String> { } interface I2<A, T, I> extends I3<Integer, I, A> { } interface I3<T, I, A> { T t(T t); I i(I a); A a(A a); }