class AbstractFastRecommender extends AbstractRecommender<U, I> implements FastRecommender<U, I> {

    @Override
    public Recommendation<U, I> getRecommendation(U u, int maxLength) {
        FastRecommendation rec = getRecommendation(user2uidx(u), maxLength);

        return new Recommendation<>(uidx2user(rec.getUidx()), rec.getIidxs().stream()
                .map(this::iidx2item)
                .collect(toList()));
    }

    public  AbstractFastRecommender(FastUserIndex<U> uIndex, FastItemIndex<I> iIndex);

}