public static <T> Stream<T> streamQuery(final Query<T> query) { final MorphiaIterator<T, T> morphiaIterator = query.fetch(); return StreamSupport.stream(morphiaIterator.spliterator(), false) .onClose(morphiaIterator::close); }