code: public static <T, K, V> Func1<Iterable<T>, SolidMap<K, V>> toSolidMap(final Func1<T, K> keyExtractor, final Func1<T, V> valueExtractor) {
          return new Func1<Iterable<T>, SolidMap<K, V>>() {
              @Override
              public SolidMap<K, V> call(final Iterable<T> iterable) {
                  return new SolidMap<>(
                      stream(iterable).map(new Func1<T, Pair<K, V>>() {
                          @Override
                          public Pair<K, V> call(T value) {
                              return new Pair<>(keyExtractor.call(value), valueExtractor.call(value));
                          }
                      }));
              }
          };
      }
docs: Returns a function that converts a stream into {@link SolidMap} using given key and value extractor methods.