1*f1fbf3c2SXin Li package test4; 2*f1fbf3c2SXin Li 3*f1fbf3c2SXin Li public class Signature<T> { 4*f1fbf3c2SXin Li public static class Foo { 5*f1fbf3c2SXin Li int value; 6*f1fbf3c2SXin Li } 7*f1fbf3c2SXin Li run()8*f1fbf3c2SXin Li public int run() { 9*f1fbf3c2SXin Li Signature<String> s = new Signature<String>(); 10*f1fbf3c2SXin Li return s.foo(Integer.valueOf(3), "foo", s, null).length(); 11*f1fbf3c2SXin Li } 12*f1fbf3c2SXin Li foo(S s, T t, Signature<T> signature, Signature<Signature<String>> v)13*f1fbf3c2SXin Li <S> T foo(S s, T t, Signature<T> signature, Signature<Signature<String>> v) { 14*f1fbf3c2SXin Li return t; 15*f1fbf3c2SXin Li } 16*f1fbf3c2SXin Li } 17