in kernel-api/src/main/scala/org/apache/toree/utils/DynamicReflectionSupport.scala [118:134]
private def isCompatible(klazz1: Class[_], klazz2: Class[_]): Boolean = {
var result =
klazz1.isAssignableFrom(klazz2) ||
klazz1.isInstance(klazz2) ||
klazz1.isInstanceOf[klazz2.type]
if (!result) {
try {
klazz1.asInstanceOf[klazz2.type]
result = true
} catch {
case _: Throwable => result = false
}
}
result
}