static IntPtr n_Serialize_Ljava_lang_Object_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            global::Com.Google.Gson.IJsonSerializationContext __this = global::Java.Lang.Object.GetObject <global::Com.Google.Gson.IJsonSerializationContext> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Java.Lang.Object p0 = global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.Serialize(p0));

            return(__ret);
        }
        static IntPtr n_Serialize_Ljava_lang_Object_Ljava_lang_reflect_Type_Lcom_google_gson_JsonSerializationContext_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2)
        {
            global::Com.Google.Gson.IJsonSerializer __this       = global::Java.Lang.Object.GetObject <global::Com.Google.Gson.IJsonSerializer> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Java.Lang.Object        p0                   = global::Java.Lang.Object.GetObject <global::Java.Lang.Object> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Java.Lang.Reflect.IType p1                   = (global::Java.Lang.Reflect.IType)global::Java.Lang.Object.GetObject <global::Java.Lang.Reflect.IType> (native_p1, JniHandleOwnership.DoNotTransfer);
            global::Com.Google.Gson.IJsonSerializationContext p2 = (global::Com.Google.Gson.IJsonSerializationContext)global::Java.Lang.Object.GetObject <global::Com.Google.Gson.IJsonSerializationContext> (native_p2, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.Serialize(p0, p1, p2));

            return(__ret);
        }
 public virtual unsafe Com.Google.Gson.JsonElement Serialize(global::Java.Lang.Object p0, global::Java.Lang.Reflect.IType p1, global::Com.Google.Gson.IJsonSerializationContext p2)
 {
     return(Serialize((BindingValues)p0, p1, p2));
 }
        public unsafe global::Com.Google.Gson.JsonElement Serialize(global::Java.Lang.Object p0, global::Java.Lang.Reflect.IType p1, global::Com.Google.Gson.IJsonSerializationContext p2)
        {
            if (id_serialize_Ljava_lang_Object_Ljava_lang_reflect_Type_Lcom_google_gson_JsonSerializationContext_ == IntPtr.Zero)
            {
                id_serialize_Ljava_lang_Object_Ljava_lang_reflect_Type_Lcom_google_gson_JsonSerializationContext_ = JNIEnv.GetMethodID(class_ref, "serialize", "(Ljava/lang/Object;Ljava/lang/reflect/Type;Lcom/google/gson/JsonSerializationContext;)Lcom/google/gson/JsonElement;");
            }
            IntPtr  native_p0 = JNIEnv.ToLocalJniHandle(p0);
            JValue *__args    = stackalloc JValue [3];

            __args [0] = new JValue(native_p0);
            __args [1] = new JValue((p1 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p1).Handle);
            __args [2] = new JValue((p2 == null) ? IntPtr.Zero : ((global::Java.Lang.Object)p2).Handle);
            global::Com.Google.Gson.JsonElement __ret = global::Java.Lang.Object.GetObject <global::Com.Google.Gson.JsonElement> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_serialize_Ljava_lang_Object_Ljava_lang_reflect_Type_Lcom_google_gson_JsonSerializationContext_, __args), JniHandleOwnership.TransferLocalRef);
            JNIEnv.DeleteLocalRef(native_p0);
            return(__ret);
        }