When the enhanced for loop (foreach loop) was added to Java, it was made to work with a target of either an array or Iterable.
for ( T item : /*
The idiomatic way in Java 8 (being a verbose language) is this:
for (T t : (Iterable) () -> myDeque.descendingIterator()) {
// use item
}
I.e. wrap the Iterator in an Iterable lambda. This is pretty much what you did yourself using an anonymous class, but it's a bit nicer with the lambda.
Of course, you could always just resort to using Iterator.forEachRemaining():
myDeque.descendingIterator().forEachRemaining(t -> {
// use item
});