class Test { void bar(Win window, I consumer) {} void bar(Comp component, I consumer) {} private void foo(final Win component, final I consumer) { bar(component, consumer); } } interface I{} class Comp {} class Win extends Comp {}