JNIEXPORT void JNICALL Java_org_openqa_selenium_ie_InternetExplorerElement_getChildrenOfTypeNatively (JNIEnv *env, jobject obj, jobject list, jstring tagName) { jclass listClass = env->FindClass("java/util/List"); jmethodID addId = env->GetMethodID(listClass, "add", "(Ljava/lang/Object;)Z"); jclass ieeClass = env->FindClass("org/openqa/selenium/ie/InternetExplorerElement"); jmethodID cId = env->GetMethodID(ieeClass, "<init>", "(J)V"); const wchar_t* converted = (wchar_t*) env->GetStringChars(tagName, NULL); ElementWrapper* wrapper = getWrapper(env, obj); const std::vector<ElementWrapper*>* elements = wrapper->getChildrenWithTagName(converted); std::vector<ElementWrapper*>::const_iterator end = elements->end(); std::vector<ElementWrapper*>::const_iterator cur = elements->begin(); while(cur < end) { ElementWrapper* wrapper = *cur; jobject wrapped = env->NewObject(ieeClass, cId, wrapper); env->CallVoidMethod(list, addId, wrapped); cur++; } }