class ExposeAnotherProblem { class OneClass { public T get(){ return null; } } class AnotherClass {} static > R method1(AnotherClass param) { return null; } E method2(AnotherClass param){ return method1(param).get(); } }