You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Eduard Gomoliako (Jira)" <ji...@apache.org> on 2025/04/09 16:17:00 UTC

[jira] [Comment Edited] (COLLECTIONS-838) Calling SetUtils.union on multiple instances of SetView causes JVM to hang

    [ https://issues.apache.org/jira/browse/COLLECTIONS-838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942239#comment-17942239 ] 

Eduard Gomoliako edited comment on COLLECTIONS-838 at 4/9/25 4:16 PM:
----------------------------------------------------------------------

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.


was (Author: JIRAUSER292949):
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)