Avoid using old synchronized java.util.Stack
Use modern ArrayDeque instead
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/core/GenericType.java b/jaxrs-api/src/main/java/jakarta/ws/rs/core/GenericType.java
index f34c480..2f5d4c7 100644
--- a/jaxrs-api/src/main/java/jakarta/ws/rs/core/GenericType.java
+++ b/jaxrs-api/src/main/java/jakarta/ws/rs/core/GenericType.java
@@ -21,8 +21,8 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
+import java.util.ArrayDeque;
import java.util.Arrays;
-import java.util.Stack;
/**
* Represents a generic message entity type {@code T}.
@@ -198,7 +198,7 @@
*/
static Type getTypeArgument(final Class<?> clazz, final Class<?> baseClass) {
// collect superclasses
- Stack<Type> superclasses = new Stack<Type>();
+ ArrayDeque<Type> superclasses = new ArrayDeque<>();
Type currentType;
Class<?> currentClass = clazz;
do {