I have a CRUD repository on a type which is Iterable. The repository has a named query method we are executing. On execution, a ResultProcessor is invoked, which contains a returned type member. The member is calculated via AbstractRepositoryMetadata.unwrapWrapperTypes(). Since the query method returns an Iterable, that method correctly unpacks the TypeInformation on the first iteration to obtain the return type of the query method. However, it schedules another call, this time on the domain type itself, which, as stated above, is Iterable.
This confuses the result processor since it now thinks it has to perform a conversion from the elements of the query's result set to the domain class' Iterable elements.