@Override
 public List<Entry<T, Double>> getMostSimilarItems(
     T item, Collection<T> items, Collection<Property> properties, double treshold) {
   List<T> itemSet = new ArrayList<>(items);
   //	itemSet.remove(item);
   double similarity;
   Map<T, Double> map = new HashMap<T, Double>();
   for (T it : itemSet) {
     similarity = calculateSimiliraty(item, it, properties);
     if (similarity >= treshold) map.put(it, similarity);
   }
   return SortBy.sortByValue(map);
 }