code: @SuppressWarnings("unchecked")
      public <T> T get(final Class<T> type) {
          T bean = (T) components.get(type);
          if (bean != null) {
              return bean;
          }
          return (T) get(type.getName());
      }
docs: Get component or bean by type.
  
  @param <T>
  @param type
  @return Component