Improve on the load check

getResource should be a good alternative.
Also account for generics.
diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
index 1ef8993..9b3cbd9 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
@@ -118,16 +118,14 @@
                     if (newString != str) {
                         // Since this is runtime conversion, the idea is to only convert to
                         // Jakarta EE specification classes that exist in the container 
-                        String[] split = newString.split(";");
+                        String[] split = newString.split(";|<");
                         for (String current : split) {
                             int pos = current.indexOf("jakarta/");
                             if (pos >= 0) {
-                                boolean found = false;
-                                try {
-                                    loader.loadClass(current.substring(pos).replace('/', '.'));
-                                    found = true;
-                                } catch (Exception e) {}
-                                if (!found) {
+                                if (loader.getResource(current.substring(pos) + ".class") == null) {
+                                    if (logger.isLoggable(Level.FINE)) {
+                                        logger.log(Level.FINE, sm.getString("classConverter.skipName", current.substring(pos)));
+                                    }
                                     // Cancel the replacement as the replacement does not exist
                                     String originalFragment = current.replace("jakarta/", "javax/");
                                     newString = newString.replace(current, originalFragment);
diff --git a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
index 3614cfc..e46a8d8 100644
--- a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
+++ b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
@@ -15,6 +15,7 @@
 
 classConverter.converted=Migrated class [{0}]
 classConverter.noConversion=No conversion necessary for [{0}] 
+classConverter.skipName=Skip conversion of class [{0}] as it is not accessible to the classloader
 
 migration.archive.complete=Migration finished for archive [{0}]
 migration.archive.memory=Migration starting for archive [{0}] using in memory copy