PolyJsonAdapterFactory(baseType: Class<T>, possibleTypes: Array<Type>, inline selectType: (label: String, value: Any?) -> Type?)