RequestBeanReader { public void registerBean(Class<?> beanClass, BeanClassValidator validator) { if (!beanContext.containsKey(beanClass)) { validator.validate(beanClass); beanContext.put(beanClass, new BeanContext<>(beanClass)); } }  void registerQueryParam(Class<T> beanClass, BeanClassNameValidator beanClassNameValidator); void registerBean(Class<?> beanClass, BeanClassValidator validator); boolean containsQueryParam(Class<?> beanClass); boolean containsBean(Class<?> beanClass); T fromParams(Class<T> beanClass, Map<String, String> params); T fromJSON(Class<T> beanClass, byte[] body);  }
@Test void register() { reader.registerBean(TestBean.class, validator); reader.registerBean(TestBean.class, validator); }