protected open fun <T : Any!> getProperty(targetType: Type!, property: String!): Future<T>!
protected open fun <T : Any!> getProperty(targetType: Class<T>!, property: String!): Future<T>!