fun queryGroup(query: String): Map<Key, List<K>>
fun <T : Any> queryGroup(query: String, clazz: KClass<T>): Map<Key, List<T>>
fun <T : Any> queryGroup(query: String, clazz: Class<T>): Map<Key, List<T>>