RxViper { static <V extends ViewCallbacks> V createView(V view, Class<? extends Presenter> actualClass) { return createProxy(view, Presenter.class, actualClass, 0); } private  RxViper();   }
@Test public void shouldCreateProxyView() { final TestViewCallbacks view = new TestViewCallbacksImpl(); final TestViewCallbacks proxyView = RxViper.createView(view, TestPresenter.class); assertThat(Proxy.isProxyClass(proxyView.getClass())).isTrue(); final InvocationHandler handler = Proxy.getInvocationHandler(proxyView); assertThat(handler).isInstanceOf(NullObject.class); assertThat(((NullObject) handler).get()).isSameAs(view); }