class Test { public void myMethod() { foo ( bar("") = ""); } private T foo(final T bar) { return null; } private T foo(final String bar) { return null; } private S bar(final String s) { return null; } }