@Test
public void testValidSuper2() {

    DerivedClass4 obj = mock(DerivedClass4.class);
    ReflectiveGenericLifecycleObserver observer = new ReflectiveGenericLifecycleObserver(obj);
    observer.onStateChanged(mock(LifecycleOwner.class), ON_START);
    verify(obj).foo(Matchers.<LifecycleOwner>any());
    verify(obj).foo();
}