[ https://issues.apache.org/jira/browse/COLLECTIONS-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942239#comment-17942239 ]
Eduard Gomoliako commented on COLLECTIONS-838: ---------------------------------------------- TBH, I didn't quite get the initial response on the bug, but I find it strange that it doesn't get fixed. We stumbled upon the same issue and had to introduce our own `SetUtils` that fixes this problem. In our case it was a constructor accepting an `Iterable` that used further `Set.copyOf` having the result of `SetUtils.union` provided into it having before it cast to a `Collection` (because it's a collection). And JVM got to hang there. Intuitively, one would expect that the result of {{SetUtils.union}} could be safely used anywhere a {{Set}} is accepted. However, this doesn't seem to be the case in practice. Could this issue be prioritized for resolution? I'm happy to provide additional details about our use case if helpful. > Calling SetUtils.union on multiple instances of SetView causes JVM to hang > -------------------------------------------------------------------------- > > Key: COLLECTIONS-838 > URL: https://issues.apache.org/jira/browse/COLLECTIONS-838 > Project: Commons Collections > Issue Type: Bug > Components: Collection > Affects Versions: 4.4 > Reporter: Tanmay Ambre > Priority: Major > Attachments: Test1.java > > > hi, > > Please have a look at the attached test class. If I call the SetUtils.union > multiple times (~40) the JVM hangs. However, it will complete if I reduce the > iterations (~30). > > Stack Trace: > > "main" #1 prio=5 os_prio=31 cpu=829612.28ms elapsed=839.75s > tid=0x000000015d008a00 nid=0x1803 runnable [0x000000016ffc1000] > java.lang.Thread.State: RUNNABLE > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:239) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.FilterIterator.setNextObject(FilterIterator.java:174) > at > org.apache.commons.collections4.iterators.FilterIterator.hasNext(FilterIterator.java:86) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at > org.apache.commons.collections4.iterators.IteratorChain.updateCurrentIterator(IteratorChain.java:222) > at > org.apache.commons.collections4.iterators.IteratorChain.hasNext(IteratorChain.java:236) > at > org.apache.commons.collections4.iterators.UnmodifiableIterator.hasNext(UnmodifiableIterator.java:73) > at java.lang.Iterable.forEach(java.base@17.0.2/Iterable.java:74) > at Test1.main(CollectionFunctionsTest.java:107) -- This message was sent by Atlassian Jira (v8.20.10#820010)