public void changeMethod(StealingMethod method) {
    this.method = method;
  }
@Test
  void testChangeMethod() {
    final var initialMethod = spy(StealingMethod.class);
    final var thief = new HalflingThief(initialMethod);

    thief.steal();
    verify(initialMethod).steal();
    String target = verify(initialMethod).pickTarget();
    verify(initialMethod).confuseTarget(target);
    verify(initialMethod).stealTheItem(target);

    final var newMethod = spy(StealingMethod.class);
    thief.changeMethod(newMethod);

    thief.steal();
    verify(newMethod).steal();
    String newTarget = verify(newMethod).pickTarget();
    verify(newMethod).confuseTarget(newTarget);
    verify(newMethod).stealTheItem(newTarget);
    verifyNoMoreInteractions(initialMethod, newMethod);
  }