code: @SuppressWarnings("unchecked")
      @Override
      public <E extends R> List<E> retrieveFilter(final UniqueKey<E> uniqueKey) {
  
          // TODO evaluate performances !!!!!
          return (List<E>) this.componentMap.entrySet().stream()
                                            .filter(entry -> entry.getKey().classField() == uniqueKey.classField())
                                            .flatMap(s -> s.getValue().stream())
                                            .collect(Collectors.toList());
  
      }
docs: {@inheritDoc}