Método de sobrecarga de Java con interfaz heredada

Estoy tratando de entender el comportamiento de Java. Usando estas interfaces:

public interface IA {}
public interface IB extends IA {}
public class myClass implements IB {}

Estoy sobrecargando un método como este:

public void method(IA a);
public void method(IB b);

Al llamar al método con el siguiente objeto:

IA a = new myClass();
method(a);

¿Por qué usa java?

 public void method(IA a);

en lugar de

public void method(IB b);

?

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta