A ClassLoader loads classes/resources. In Java, a type is identified by (class name + defining ClassLoader). That means the “same” class name loaded by two different classloaders is treated as two different types, which can cause `ClassCastException` in plugin/app-server setups.