code: public static <K, T> StreamSorter<K, T> create(StreamSorterStorage<T> storage,
  			Function<T, K> keyFunction, Comparator<K> keyComparator, boolean distinct,
  			int itemsInMemorySize) {
  		return new StreamSorter<>(storage, keyFunction, keyComparator, distinct, itemsInMemorySize);
  	}
docs: Creates a new instance of StreamSorter
  
  @param storage           storage for storing elements which was no placed to RAM
  @param keyFunction       function for searching key
  @param keyComparator     comparator for comparing key
  @param distinct          if it is true it means that in result will be not objects with same key
  @param itemsInMemorySize size of elements which can be saved in RAM before sorting