docs: private <T> T getReference(final Bean<T> bean) {
          T ret = (T) beanReferences.get(bean);
  
          if (null != ret) {
              return ret;
          }
  
          ret = bean.create();
  
          if (null != ret) {
              beanReferences.put(bean, ret);
  
              return ret;
          }
  
          throw new RuntimeException("Can't create reference for bean [" + bean + "]");
      }