public <K, V> Map<K, V> toMap(final Func1<T, K> keyMapper, final Func1<T, V> valueMapper) {
        final Map<K, V> result = new HashMap<>();
        for (Object element : getCollectionForRead()) {
            result.put(keyMapper.call((T) element), valueMapper.call((T) element));
        }
        return result;
    }
mimics {@link Collectors#toMap(Function, Function)}
main/src/main/java/cgeo/geocaching/utils/CollectionStream.java