Mockito: когда вызывается метод A.a, выполняется B.b

Я использую Mockito для тестов JUnit. Итак, есть определенный класс A, который используется из кода, который я хочу проверить:

class A{

    public A(){}

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

}

и я хочу заменить вызов метода A.a другим вызовом метода с теми же аргументами и с тем же типом возвращаемого значения. Как видите, невозможно переопределить метод a, расширив класс, так как он является окончательным. Итак, теперь у меня есть другой класс B с методом B.b:

class B{

    public B(){}

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

}

Теперь я хочу убедиться, что каждый раз, когда A.a вызывается из кода, вместо него используется возвращаемое значение B.b. Есть ли возможность добиться этого с Mockito (что-то вродеMockito.when(A.a(x)).thenReturn(B.b(x)); ) но с тем же параметром х, не зная значение х?

Любая помощь будет оценена, спасибо заранее!