Mockito: cuando se llama al método A.a, ejecute B.b

Estoy usando Mockito para las pruebas de JUnit. Entonces, hay una clase A dada que se usa desde el código que quiero probar:

class A{

    public A(){}

    public final String a(String x){
        return "A.a: " + x;
    }

}

y quiero reemplazar la llamada a Método A.a con otra llamada a método con los mismos argumentos y el mismo tipo de valor de retorno. Como puede ver, no es posible anular el método a extendiendo la clase como final. Entonces, lo que tengo ahora es otra clase B con el método B.b:

class B{

    public B(){}

    public String b(String x){
        return "B.b: " + x;
    }

}

Ahora quiero asegurarme de que cada vez que se llame a A.a desde el código, se use el valor de retorno de B.b en su lugar. ¿Existe la posibilidad de lograr esto con Mockito (algo así comoMockito.when(A.a(x)).thenReturn(B.b(x)); ) pero con el mismo parámetro x, sin saber el valor de x?

Cualquier ayuda sería apreciada, gracias de antemano!

Respuestas a la pregunta(3)

Su respuesta a la pregunta