code: public <R, T extends R> T getBean(final Class<R> cls) {
          final BeanProvider provider = beanProviderFor(cls);
          return provider.getBean(this, dryRun);
      }
docs: 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.