code: public final <K, V> Ix<Map<K, V>> collectToMap(IxFunction<? super T, ? extends K> keySelector, IxFunction<? super T, ? extends V> valueSelector) {
          return new IxToMap<T, K, V>(this, nullCheck(keySelector, "keySelector is null"), nullCheck(valueSelector, "valueSelector is null"));
      }
docs: Collects the elements of this sequence into a Map where the key is
  determined from each element via the keySelector function and
  the value is derived from the same element via the valueSelector function; duplicates are
  overwritten.
  <p>
  The result's iterator() doesn't support remove().
  @param <K> the key type
  @param <V> the value type
  @param keySelector the function that receives the current element and returns
  a key for it to be used as the Map key.
  @param valueSelector the function that receives the current element and returns
  a value for it to be used as the Map value
  @return the new Ix instance
  @throws NullPointerException if keySelector or valueSelector is null
  @since 1.0