[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)) {