docs: public void registerBeanFactory(String theName, String groupName, final Class beanClass) {
          getProxyBuilder().registerFactory(theName, new AbstractFactory() {
              public Object newInstance(FactoryBuilderSupport builder, Object name, Object value,
                                        Map properties) throws InstantiationException, IllegalAccessException {
                  if (checkValueIsTypeNotString(value, name, beanClass)) {
                      return value;
                  } else {
                      return beanClass.newInstance();
                  }
              }
          });
          getRegistrationGroup(groupName).add(theName);
      }