--- jsr166/src/main/java/util/ArrayDeque.java 2016/10/18 00:33:05 1.77 +++ jsr166/src/main/java/util/ArrayDeque.java 2016/10/18 17:31:18 1.78 @@ -902,9 +902,10 @@ public class ArrayDeque extends Abstr } return deleted > 0; } catch (Throwable ex) { - for (; remaining > 0; - remaining--, i = inc(i, capacity), j = inc(j, capacity)) - elements[j] = elements[i]; + if (deleted > 0) + for (; remaining > 0; + remaining--, i = inc(i, capacity), j = inc(j, capacity)) + elements[j] = elements[i]; throw ex; } finally { size -= deleted;