BVAL-165 tccl should always be preferred over class.getClassLoader since it is always possible to set it right and it enables tree classloading graphs to work (whereas the opposite breaks it by design)
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/SchemaManager.java b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/SchemaManager.java
index 56819fb..6650de5 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/SchemaManager.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/SchemaManager.java
@@ -229,7 +229,7 @@
     }
 
     static Schema loadSchema(String resource) {
-        final URL schemaUrl = Reflection.loaderFromClassOrThread(XmlUtils.class).getResource(resource);
+        final URL schemaUrl = Reflection.loaderFromThreadOrClass(XmlUtils.class).getResource(resource);
         try {
             return SCHEMA_FACTORY.newSchema(schemaUrl);
         } catch (SAXException e) {
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
index 9a03896..a3f418e 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/ValidationMappingParser.java
@@ -160,7 +160,7 @@
 
     private Class<?> loadClass(final String className) {
         try {
-            return Reflection.toClass(className, Reflection.loaderFromClassOrThread(ValidationMappingParser.class));
+            return Reflection.toClass(className, Reflection.loaderFromThreadOrClass(ValidationMappingParser.class));
         } catch (ClassNotFoundException ex) {
             throw Exceptions.create(ValidationException::new, ex, "Unable to load class: %s", className);
         }
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/XmlUtils.java b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/XmlUtils.java
index a517845..00e2933 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/xml/XmlUtils.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/xml/XmlUtils.java
@@ -43,7 +43,7 @@
     private static final SchemaFactory SCHEMA_FACTORY = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
 
     static Schema loadSchema(String resource) {
-        final URL schemaUrl = Reflection.loaderFromClassOrThread(XmlUtils.class).getResource(resource);
+        final URL schemaUrl = Reflection.loaderFromThreadOrClass(XmlUtils.class).getResource(resource);
         try {
             return SCHEMA_FACTORY.newSchema(schemaUrl);
         } catch (SAXException e) {
diff --git a/bval-jsr/src/main/java/org/apache/bval/util/reflection/Reflection.java b/bval-jsr/src/main/java/org/apache/bval/util/reflection/Reflection.java
index ae03ba3..e8086b7 100644
--- a/bval-jsr/src/main/java/org/apache/bval/util/reflection/Reflection.java
+++ b/bval-jsr/src/main/java/org/apache/bval/util/reflection/Reflection.java
@@ -245,7 +245,7 @@
     }
 
     public static Class<?> toClass(String className) throws ClassNotFoundException {
-        return toClass(className, loaderFromClassOrThread(Reflection.class));
+        return toClass(className, loaderFromThreadOrClass(Reflection.class));
     }
 
     /**