private def isCompatible()

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
  }