} else { version = new nsString();
JNIEXPORT jboolean JNICALL Java_org_mozilla_dom_DOMImplementationImpl_hasFeature  (JNIEnv *env, jobject jthis, jstring jfeature, jstring jversion){  nsIDOMDOMImplementation* dom = (nsIDOMDOMImplementation*)     env->GetLongField(jthis, JavaDOMGlobals::domImplementationPtrFID);  if (!dom || !jfeature) {    PR_LOG(JavaDOMGlobals::log, PR_LOG_WARNING, 	   ("DOMImplementation.hasFeature: NULL pointer\n"));    return JNI_FALSE;  }  nsString* feature = JavaDOMGlobals::GetUnicode(env, jfeature);  if (!feature)      return JNI_FALSE;  nsString* version = new nsString();  if (jversion) {      version = JavaDOMGlobals::GetUnicode(env, jversion);      if (!version) {	  nsString::Recycle(feature);	  return JNI_FALSE;      }  }  PRBool ret = PR_FALSE;  nsresult rv = dom->HasFeature(*feature, *version, &ret);  nsString::Recycle(feature);  nsString::Recycle(version);  if (NS_FAILED(rv)) {    PR_LOG(JavaDOMGlobals::log, PR_LOG_ERROR, 	   ("DOMImplementation.hasFeature: failed (%x)\n", rv));  }  return ret == PR_TRUE ? JNI_TRUE : JNI_FALSE;}