Hi Christoph,
Both are just using the iterator from the source Iterable, which would mean that if you are using a source and destination Iterables that preserve order (ArrayList etc), then model mapper will preserve order.
In the past I've also used little utility functions to avoid having to mess around with TypeTokens etc, something like
public <T> List<T> map(Iterable<?> source, Class<T> destination) {
return stream(source.spliterator(), false)
.map((elem) -> this.mapper.map(elem, destination))
.collect(Collectors.toList());
}
Cheers,
Nathan