public <R, T extends R> T getBean(final Class<R> cls) {
        final BeanProvider provider = beanProviderFor(cls);
        return provider.getBean(this, dryRun);
    }
public < R , T extends R > T getBean ( final Class < R > cls ) { final BeanProvider provider = beanProviderFor ( cls ) ; return provider . getBean ( this , dryRun ) ; }
Returns the Bean of the given Type, specified by the Class {@code cls} on the Configuration of
the {@link BeanRepository}. The Scope of the Bean depends on the Configuration. It is possible
that the {@link PostConstructible#onPostConstruct(BeanRepository)} Method is executed.

@param cls    The Class of the Bean, used in the Configuration of the BeanRepository
@param <R>    The Type or a super Type of the Bean
@param <T>    The Type of the Bean
@see PostConstructible
@return a constructed and full initialised Bean.