This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/master by this push:
     new 95405bc138 Bumped to commons-collections4 CTR
95405bc138 is described below

commit 95405bc138d2dd3870a0a161693c91a2392ee757
Author: Stephen Mallette <[email protected]>
AuthorDate: Tue Dec 12 12:01:17 2023 -0500

    Bumped to commons-collections4 CTR
---
 CHANGELOG.asciidoc                                 |  1 +
 gremlin-core/pom.xml                               |  6 ++++--
 .../traverser/B_LP_NL_O_P_S_SE_SL_Traverser.java   | 23 +++++++++++++---------
 .../traverser/B_LP_NL_O_S_SE_SL_Traverser.java     | 23 +++++++++++++---------
 .../traverser/B_NL_O_S_SE_SL_Traverser.java        | 23 +++++++++++++---------
 .../traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java  | 21 ++++++++++++--------
 .../traverser/LP_NL_O_OB_S_SE_SL_Traverser.java    | 23 +++++++++++++---------
 .../traverser/NL_O_OB_S_SE_SL_Traverser.java       | 23 +++++++++++++---------
 .../traverser/util/IndexedTraverserSet.java        | 11 ++++++-----
 .../structure/io/binary/types/EdgeSerializer.java  |  2 +-
 .../io/binary/types/VertexPropertySerializer.java  |  2 +-
 .../io/binary/types/VertexSerializer.java          |  3 +--
 .../structure/io/graphml/GraphMLWriter.java        |  2 +-
 .../gremlin/structure/io/gryo/GryoVersion.java     |  2 +-
 .../gremlin/util/iterator/IteratorUtils.java       |  2 +-
 gremlin-server/pom.xml                             |  4 ++--
 pom.xml                                            | 20 +++++++------------
 17 files changed, 109 insertions(+), 82 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index cc9fc2bcdf..7b9701c916 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -31,6 +31,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Deprecated `withEmbedded()` and `withRemote()` options on 
`AnonymousTraversalSource`.
 * Added `with()` on `AnonymousTraversalSource` to cover both embedded and 
remote creation options.
 * Removed the deprecated `withGraph()` option from `AnonymousTraversalSource`.
+* Bumped to `commons-collection4`.
 
 == TinkerPop 3.7.0 (Gremfir Master of the Pan Flute)
 
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 159f08d3b9..b0d53e0b1c 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -47,13 +47,15 @@ limitations under the License.
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-configuration2</artifactId>
         </dependency>
+        <!-- commons-configuration2 requires beanutils because we rely on file 
loaders -->
         <dependency>
             <groupId>commons-beanutils</groupId>
             <artifactId>commons-beanutils</artifactId>
+            <version>1.9.4</version>
         </dependency>
         <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-collections4</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_P_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_P_S_SE_SL_Traverser.java
index 1af9dbefef..fd54ff71bc 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_P_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_P_S_SE_SL_Traverser.java
@@ -18,18 +18,20 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Stack;
 
 public class B_LP_NL_O_P_S_SE_SL_Traverser<T> extends 
B_LP_O_P_S_SE_SL_Traverser<T> {
 
     protected Stack<LabelledCounter> nestedLoops;
-    protected ReferenceMap loopNames = null;
+    protected ReferenceMap<String,Object> loopNames = null;
 
     protected B_LP_NL_O_P_S_SE_SL_Traverser() {
     }
@@ -37,7 +39,8 @@ public class B_LP_NL_O_P_S_SE_SL_Traverser<T> extends 
B_LP_O_P_S_SE_SL_Traverser
     public B_LP_NL_O_P_S_SE_SL_Traverser(final T t, final Step<T, ?> step, 
final long initialBulk) {
         super(t, step, initialBulk);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -87,11 +90,12 @@ public class B_LP_NL_O_P_S_SE_SL_Traverser<T> extends 
B_LP_O_P_S_SE_SL_Traverser
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -110,11 +114,12 @@ public class B_LP_NL_O_P_S_SE_SL_Traverser<T> extends 
B_LP_O_P_S_SE_SL_Traverser
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_S_SE_SL_Traverser.java
index 401bfd279a..d14c8c1a91 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_LP_NL_O_S_SE_SL_Traverser.java
@@ -18,18 +18,20 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 
 public class B_LP_NL_O_S_SE_SL_Traverser<T> extends 
B_LP_O_S_SE_SL_Traverser<T> {
 
     protected Stack<LabelledCounter> nestedLoops;
-    protected ReferenceMap loopNames = null;
+    protected ReferenceMap<String,Object> loopNames = null;
 
     protected B_LP_NL_O_S_SE_SL_Traverser() {
     }
@@ -37,7 +39,8 @@ public class B_LP_NL_O_S_SE_SL_Traverser<T> extends 
B_LP_O_S_SE_SL_Traverser<T>
     public B_LP_NL_O_S_SE_SL_Traverser(final T t, final Step<T, ?> step, final 
long initialBulk) {
         super(t, step, initialBulk);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -91,11 +94,12 @@ public class B_LP_NL_O_S_SE_SL_Traverser<T> extends 
B_LP_O_S_SE_SL_Traverser<T>
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -114,11 +118,12 @@ public class B_LP_NL_O_S_SE_SL_Traverser<T> extends 
B_LP_O_S_SE_SL_Traverser<T>
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_NL_O_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_NL_O_S_SE_SL_Traverser.java
index 6e18d12a61..ba1d543a5a 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_NL_O_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_NL_O_S_SE_SL_Traverser.java
@@ -18,17 +18,19 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Stack;
 
 public class B_NL_O_S_SE_SL_Traverser<T> extends B_O_S_SE_SL_Traverser<T> {
 
     protected Stack<LabelledCounter> nestedLoops;
-    protected ReferenceMap loopNames = null;
+    protected ReferenceMap<String,Object> loopNames = null;
 
     protected B_NL_O_S_SE_SL_Traverser() {
     }
@@ -36,7 +38,8 @@ public class B_NL_O_S_SE_SL_Traverser<T> extends 
B_O_S_SE_SL_Traverser<T> {
     public B_NL_O_S_SE_SL_Traverser(final T t, final Step<T, ?> step, final 
long initialBulk) {
         super(t, step, initialBulk);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -87,11 +90,12 @@ public class B_NL_O_S_SE_SL_Traverser<T> extends 
B_O_S_SE_SL_Traverser<T> {
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -111,11 +115,12 @@ public class B_NL_O_S_SE_SL_Traverser<T> extends 
B_O_S_SE_SL_Traverser<T> {
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java
index 77157b8a22..ee22c6f5ee 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_P_S_SE_SL_Traverser.java
@@ -19,11 +19,13 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 
@@ -38,7 +40,8 @@ public class LP_NL_O_OB_P_S_SE_SL_Traverser<T> extends 
LP_O_OB_P_S_SE_SL_Travers
     public LP_NL_O_OB_P_S_SE_SL_Traverser(final T t, final Step<T, ?> step) {
         super(t, step);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -88,11 +91,12 @@ public class LP_NL_O_OB_P_S_SE_SL_Traverser<T> extends 
LP_O_OB_P_S_SE_SL_Travers
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -111,11 +115,12 @@ public class LP_NL_O_OB_P_S_SE_SL_Traverser<T> extends 
LP_O_OB_P_S_SE_SL_Travers
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_S_SE_SL_Traverser.java
index 14c2fe379a..47a8058015 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/LP_NL_O_OB_S_SE_SL_Traverser.java
@@ -19,18 +19,20 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 
 public class LP_NL_O_OB_S_SE_SL_Traverser<T> extends 
LP_O_OB_S_SE_SL_Traverser<T> {
 
     protected Stack<LabelledCounter> nestedLoops;
-    protected ReferenceMap loopNames = null;
+    protected ReferenceMap<String,Object> loopNames = null;
 
     protected LP_NL_O_OB_S_SE_SL_Traverser() {
     }
@@ -38,7 +40,8 @@ public class LP_NL_O_OB_S_SE_SL_Traverser<T> extends 
LP_O_OB_S_SE_SL_Traverser<T
     public LP_NL_O_OB_S_SE_SL_Traverser(final T t, final Step<T, ?> step) {
         super(t, step);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -93,11 +96,12 @@ public class LP_NL_O_OB_S_SE_SL_Traverser<T> extends 
LP_O_OB_S_SE_SL_Traverser<T
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -116,11 +120,12 @@ public class LP_NL_O_OB_S_SE_SL_Traverser<T> extends 
LP_O_OB_S_SE_SL_Traverser<T
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/NL_O_OB_S_SE_SL_Traverser.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/NL_O_OB_S_SE_SL_Traverser.java
index c30e893308..efcda13bdb 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/NL_O_OB_S_SE_SL_Traverser.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/NL_O_OB_S_SE_SL_Traverser.java
@@ -19,18 +19,20 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal.traverser;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
 
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
 
 public class NL_O_OB_S_SE_SL_Traverser<T> extends O_OB_S_SE_SL_Traverser<T> {
 
     protected Stack<LabelledCounter> nestedLoops;
-    protected ReferenceMap loopNames;
+    protected ReferenceMap<String,Object> loopNames;
 
     protected NL_O_OB_S_SE_SL_Traverser() {
     }
@@ -38,7 +40,8 @@ public class NL_O_OB_S_SE_SL_Traverser<T> extends 
O_OB_S_SE_SL_Traverser<T> {
     public NL_O_OB_S_SE_SL_Traverser(final T t, final Step<T, ?> step) {
         super(t, step);
         this.nestedLoops = new Stack<>();
-        this.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+        this.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                AbstractReferenceMap.ReferenceStrength.WEAK);
     }
 
     /////////////////
@@ -88,11 +91,12 @@ public class NL_O_OB_S_SE_SL_Traverser<T> extends 
O_OB_S_SE_SL_Traverser<T> {
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
@@ -111,11 +115,12 @@ public class NL_O_OB_S_SE_SL_Traverser<T> extends 
O_OB_S_SE_SL_Traverser<T> {
             clone.nestedLoops.push((LabelledCounter) lc.clone());
 
         if (this.loopNames != null) {
-            clone.loopNames = new ReferenceMap(ReferenceMap.HARD, 
ReferenceMap.WEAK);
+            clone.loopNames = new 
ReferenceMap<>(AbstractReferenceMap.ReferenceStrength.HARD,
+                    AbstractReferenceMap.ReferenceStrength.WEAK);
 
-            final Iterator loopNamesIterator = 
this.loopNames.entrySet().iterator();
+            final Iterator<Map.Entry<String,Object>> loopNamesIterator = 
this.loopNames.entrySet().iterator();
             while (loopNamesIterator.hasNext()) {
-                final ReferenceMap.Entry pair = (ReferenceMap.Entry) 
loopNamesIterator.next();
+                final ReferenceMap.Entry<String,Object> pair = 
loopNamesIterator.next();
 
                 final int idx = this.nestedLoops.indexOf(pair.getValue());
                 if (idx != -1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/IndexedTraverserSet.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/IndexedTraverserSet.java
index 3df335b08c..39487c3387 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/IndexedTraverserSet.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/IndexedTraverserSet.java
@@ -18,7 +18,8 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.traverser.util;
 
-import org.apache.commons.collections.map.MultiValueMap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.Host;
@@ -33,7 +34,7 @@ import java.util.function.Function;
  */
 public class IndexedTraverserSet<S,I> extends TraverserSet<S> {
 
-    private final MultiValueMap index = new MultiValueMap();
+    private final MultiValuedMap<I,Traverser.Admin<S>> index = new 
ArrayListValuedHashMap<>();
     private final Function<S,I> indexingFunction;
 
     public IndexedTraverserSet(final Function<S, I> indexingFunction) {
@@ -70,7 +71,7 @@ public class IndexedTraverserSet<S,I> extends TraverserSet<S> 
{
      * @return
      */
     public Collection<Traverser.Admin<S>> get(final I k) {
-        final Collection<Traverser.Admin<S>> c = index.getCollection(k);
+        final Collection<Traverser.Admin<S>> c = index.get(k);
 
         // if remove() is called on this class, then the MultiValueMap *may* 
(javadoc wasn't clear
         // what the expectation was - used the word "typically") return an 
empty list if the last
@@ -87,7 +88,7 @@ public class IndexedTraverserSet<S,I> extends TraverserSet<S> 
{
     @Override
     public Traverser.Admin<S> remove() {
         final Traverser.Admin<S> removed = super.remove();
-        index.remove(indexingFunction.apply(removed.get()), removed);
+        index.removeMapping(indexingFunction.apply(removed.get()), removed);
         return removed;
     }
 
@@ -97,7 +98,7 @@ public class IndexedTraverserSet<S,I> extends TraverserSet<S> 
{
             throw new IllegalArgumentException("The object to remove must be 
traverser");
 
         final boolean removed = super.remove(traverser);
-        if (removed) index.remove(indexingFunction.apply(((Traverser.Admin<S>) 
traverser).get()), traverser);
+        if (removed) 
index.removeMapping(indexingFunction.apply(((Traverser.Admin<S>) 
traverser).get()), traverser);
         return removed;
     }
 
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
index fdfb94f05a..6c52b815e5 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/EdgeSerializer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.structure.io.binary.types;
 
-import org.apache.commons.collections.IteratorUtils;
+import org.apache.commons.collections4.IteratorUtils;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.io.Buffer;
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
index 9850c13e25..dd3afbec05 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexPropertySerializer.java
@@ -18,7 +18,7 @@
  */
 package org.apache.tinkerpop.gremlin.structure.io.binary.types;
 
-import org.apache.commons.collections.IteratorUtils;
+import org.apache.commons.collections4.IteratorUtils;
 import org.apache.tinkerpop.gremlin.structure.Property;
 import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
 import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
index 5dbdfd1b0c..f25055e9a2 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/VertexSerializer.java
@@ -18,9 +18,8 @@
  */
 package org.apache.tinkerpop.gremlin.structure.io.binary.types;
 
-import org.apache.commons.collections.IteratorUtils;
+import org.apache.commons.collections4.IteratorUtils;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.io.Buffer;
 import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
 import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
index 1314db7341..84ebfbb76b 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
@@ -32,7 +32,7 @@ import javax.xml.XMLConstants;
 import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Element;
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
index 4ee9f99bf9..f056c8ed2e 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
@@ -127,7 +127,7 @@ import org.apache.tinkerpop.shaded.kryo.ClassResolver;
 import org.apache.tinkerpop.shaded.kryo.KryoSerializable;
 import org.apache.tinkerpop.shaded.kryo.serializers.JavaSerializer;
 import 
org.apache.tinkerpop.gremlin.process.traversal.traverser.util.LabelledCounter;
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.javatuples.Pair;
 import org.javatuples.Triplet;
 
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
index eb4073d8d2..cc8ce75fe7 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/iterator/IteratorUtils.java
@@ -454,7 +454,7 @@ public final class IteratorUtils {
         else if (o instanceof Object[])
             itty = new ArrayIterator<>((Object[]) o);
         else if (o != null && o.getClass().isArray()) // handle for primitive 
array
-            itty = new 
org.apache.commons.collections.iterators.ArrayIterator(o);
+            itty = new 
org.apache.commons.collections4.iterators.ArrayIterator(o);
         else if (o instanceof Stream)
             itty = ((Stream) o).iterator();
         else if (o instanceof Map)
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index a436f0c97e..2a23b707e3 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -51,8 +51,8 @@ limitations under the License.
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-collections4</artifactId>
         </dependency>
         <dependency>
             <groupId>ch.qos.logback</groupId>
diff --git a/pom.xml b/pom.xml
index 6a09e273bd..5631515347 100644
--- a/pom.xml
+++ b/pom.xml
@@ -153,7 +153,7 @@ limitations under the License.
     <properties>
         <antlr4.version>4.9.1</antlr4.version>
         <caffeine.version>2.3.1</caffeine.version>
-        <commons.collections.version>3.2.2</commons.collections.version>
+        <commons.collections.version>4.4</commons.collections.version>
         <commons.configuration.version>2.9.0</commons.configuration.version>
         <commons.lang.version>2.6</commons.lang.version>
         <commons.io.version>2.8.0</commons.io.version>
@@ -760,15 +760,9 @@ limitations under the License.
                 <artifactId>commons-text</artifactId>
                 <version>${commons.text.version}</version>
             </dependency>
-            <!-- commons-configuration2 requires beanutils because we rely on 
file loaders -->
             <dependency>
-                <groupId>commons-beanutils</groupId>
-                <artifactId>commons-beanutils</artifactId>
-                <version>1.9.4</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-collections</groupId>
-                <artifactId>commons-collections</artifactId>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-collections4</artifactId>
                 <version>${commons.collections.version}</version>
             </dependency>
             <dependency>
@@ -1490,8 +1484,8 @@ limitations under the License.
                                             
<version>${commons.configuration.version}</version>
                                         </additionalDependency>
                                         <additionalDependency>
-                                            
<groupId>commons-collections</groupId>
-                                            
<artifactId>commons-collections</artifactId>
+                                            
<groupId>org.apache.commons</groupId>
+                                            
<artifactId>commons-collections4</artifactId>
                                             
<version>${commons.collections.version}</version>
                                         </additionalDependency>
                                         <additionalDependency>
@@ -1783,8 +1777,8 @@ limitations under the License.
                                             <version>${netty.version}</version>
                                         </additionalDependency>
                                         <additionalDependency>
-                                            
<groupId>commons-collections</groupId>
-                                            
<artifactId>commons-collections</artifactId>
+                                            
<groupId>org.apache.commons</groupId>
+                                            
<artifactId>commons-collections4</artifactId>
                                             
<version>${commons.collections.version}</version>
                                         </additionalDependency>
                                         <additionalDependency>


Reply via email to