static void n_Request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
 {
     global::Com.Jcraft.Jsch.RequestSubsystem __this = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.RequestSubsystem> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Jcraft.Jsch.Session          p0     = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.Session> (native_p0, JniHandleOwnership.DoNotTransfer);
     global::Com.Jcraft.Jsch.Channel          p1     = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.Channel> (native_p1, JniHandleOwnership.DoNotTransfer);
     __this.Request(p0, p1);
 }
        static void n_Request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_Ljava_lang_String_Z(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2, bool p3)
        {
            global::Com.Jcraft.Jsch.RequestSubsystem __this = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.RequestSubsystem> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Jcraft.Jsch.Session          p0     = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.Session> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Com.Jcraft.Jsch.Channel          p1     = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.Channel> (native_p1, JniHandleOwnership.DoNotTransfer);
            string p2 = JNIEnv.GetString(native_p2, JniHandleOwnership.DoNotTransfer);

            __this.Request(p0, p1, p2, p3);
        }
        public virtual void Request(global::Com.Jcraft.Jsch.Session p0, global::Com.Jcraft.Jsch.Channel p1)
        {
            if (id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_ == IntPtr.Zero)
            {
                id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_ = JNIEnv.GetMethodID(class_ref, "request", "(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/Channel;)V");
            }

            if (GetType() == ThresholdType)
            {
                JNIEnv.CallVoidMethod(Handle, id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_, new JValue(p0), new JValue(p1));
            }
            else
            {
                JNIEnv.CallNonvirtualVoidMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "request", "(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/Channel;)V"), new JValue(p0), new JValue(p1));
            }
        }
        public virtual void Request(global::Com.Jcraft.Jsch.Session p0, global::Com.Jcraft.Jsch.Channel p1, string p2, bool p3)
        {
            if (id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_Ljava_lang_String_Z == IntPtr.Zero)
            {
                id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_Ljava_lang_String_Z = JNIEnv.GetMethodID(class_ref, "request", "(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/Channel;Ljava/lang/String;Z)V");
            }
            IntPtr native_p2 = JNIEnv.NewString(p2);

            if (GetType() == ThresholdType)
            {
                JNIEnv.CallVoidMethod(Handle, id_request_Lcom_jcraft_jsch_Session_Lcom_jcraft_jsch_Channel_Ljava_lang_String_Z, new JValue(p0), new JValue(p1), new JValue(native_p2), new JValue(p3));
            }
            else
            {
                JNIEnv.CallNonvirtualVoidMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "request", "(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/Channel;Ljava/lang/String;Z)V"), new JValue(p0), new JValue(p1), new JValue(native_p2), new JValue(p3));
            }
            JNIEnv.DeleteLocalRef(native_p2);
        }