{
Object proxy = getBean("proxy");
assertNotNull(proxy);
assertInstanceOf(proxy, IRare.class);
assertInstanceOf(proxy, RareBean.class);
RareBean rare = (RareBean)proxy;
RareBean bean = (RareBean)getBean("bean");
assertNotNull(bean);
assertEquals(bean.getHits(), rare.getHits());
bean.setHits(123);
assertEquals(bean.getHits(), rare.getHits());
bean.setHits(321);
assertEquals(bean.getHits(), rare.getHits());
Object holder = getBean("holder");
assertNotNull(holder);
assertInstanceOf(holder, IRare.class);
}