inline private fun <T: Any> unwrapCompanionClass(ofClass: Class<T>): Class<*> {
if (ofClass.enclosingClass != null){
try {
ofClass.enclosingClass.getField(ofClass.simpleName)
return ofClass.enclosingClass
} catch(e: NoSuchFieldException) {
}
}
return ofClass
}