[UIMA-6468] Problem with JCas classes with re-used across different type systems
- Avoid redundant definition of already loaded classes
diff --git a/uimaj-core/src/test/java/org/apache/uima/jcas/test/JCasFeatureOffsetTest.java b/uimaj-core/src/test/java/org/apache/uima/jcas/test/JCasFeatureOffsetTest.java
index a483491..97b07fe 100644
--- a/uimaj-core/src/test/java/org/apache/uima/jcas/test/JCasFeatureOffsetTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/jcas/test/JCasFeatureOffsetTest.java
@@ -186,6 +186,11 @@
@Override
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
synchronized (getClassLoadingLock(name)) {
+ Class<?> alreadyLoadedClazz = findLoadedClass(name);
+ if (alreadyLoadedClazz != null) {
+ return alreadyLoadedClazz;
+ }
+
Class<?> clazz = getParent().loadClass(name);
if (!TOP.class.isAssignableFrom(clazz)) {