@Override
  public final void getSize(@NonNull SizeReadyCallback cb) {
    sizeDeterminer.getSize(cb);
  }
@Test
  public void testDoesAddSecondListenerIfFirstListenerIsRemovedBeforeSecondRequest() {
    SizeReadyCallback cb1 = mock(SizeReadyCallback.class);
    target.getSize(cb1);

    view.setLayoutParams(new FrameLayout.LayoutParams(100, 100));
    activity.visible();
    view.getViewTreeObserver().dispatchOnPreDraw();

    SizeReadyCallback cb2 = mock(SizeReadyCallback.class);
    view.setLayoutParams(
        new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    target.getSize(cb2);

    view.setLayoutParams(new FrameLayout.LayoutParams(100, 100));
    view.getViewTreeObserver().dispatchOnPreDraw();

    verify(cb2).onSizeReady(anyInt(), anyInt());
  }