docs: public static <T, K, V> Map<K, V> toMap(Iterator<? extends T> inputs, Function1<? super T, K> computeKeys, Function1<? super T, V> computeValues) {
          if (computeKeys == null)
              throw new NullPointerException("computeKeys");
          if (computeValues == null)
              throw new NullPointerException("computeValues");
          Map<K, V> result = Maps.newLinkedHashMap();
          while(inputs.hasNext()) {
              T t = inputs.next();
              result.put(computeKeys.apply(t), computeValues.apply(t));
          }
          return result;
      }