public KeyPairRSA(global::Com.Jcraft.Jsch.JSch p0) : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (Handle != IntPtr.Zero)
            {
                return;
            }

            if (GetType() != typeof(KeyPairRSA))
            {
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lcom/jcraft/jsch/JSch;)V", new JValue(p0)),
                    JniHandleOwnership.TransferLocalRef);
                global::Android.Runtime.JNIEnv.FinishCreateInstance(Handle, "(Lcom/jcraft/jsch/JSch;)V", new JValue(p0));
                return;
            }

            if (id_ctor_Lcom_jcraft_jsch_JSch_ == IntPtr.Zero)
            {
                id_ctor_Lcom_jcraft_jsch_JSch_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/jcraft/jsch/JSch;)V");
            }
            SetHandle(
                global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_jcraft_jsch_JSch_, new JValue(p0)),
                JniHandleOwnership.TransferLocalRef);
            JNIEnv.FinishCreateInstance(Handle, class_ref, id_ctor_Lcom_jcraft_jsch_JSch_, new JValue(p0));
        }
        public KeyPairRSA(global::Com.Jcraft.Jsch.JSch p0, byte[] p1, byte[] p2, byte[] p3) : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (Handle != IntPtr.Zero)
            {
                return;
            }

            IntPtr native_p1 = JNIEnv.NewArray(p1);;
            IntPtr native_p2 = JNIEnv.NewArray(p2);;
            IntPtr native_p3 = JNIEnv.NewArray(p3);;

            if (GetType() != typeof(KeyPairRSA))
            {
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lcom/jcraft/jsch/JSch;[B[B[B)V", new JValue(p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3)),
                    JniHandleOwnership.TransferLocalRef);
                global::Android.Runtime.JNIEnv.FinishCreateInstance(Handle, "(Lcom/jcraft/jsch/JSch;[B[B[B)V", new JValue(p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3));
                if (p1 != null)
                {
                    JNIEnv.CopyArray(native_p1, p1);
                    JNIEnv.DeleteLocalRef(native_p1);
                }
                if (p2 != null)
                {
                    JNIEnv.CopyArray(native_p2, p2);
                    JNIEnv.DeleteLocalRef(native_p2);
                }
                if (p3 != null)
                {
                    JNIEnv.CopyArray(native_p3, p3);
                    JNIEnv.DeleteLocalRef(native_p3);
                }
                return;
            }

            if (id_ctor_Lcom_jcraft_jsch_JSch_arrayBarrayBarrayB == IntPtr.Zero)
            {
                id_ctor_Lcom_jcraft_jsch_JSch_arrayBarrayBarrayB = JNIEnv.GetMethodID(class_ref, "<init>", "(Lcom/jcraft/jsch/JSch;[B[B[B)V");
            }
            SetHandle(
                global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lcom_jcraft_jsch_JSch_arrayBarrayBarrayB, new JValue(p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3)),
                JniHandleOwnership.TransferLocalRef);
            JNIEnv.FinishCreateInstance(Handle, class_ref, id_ctor_Lcom_jcraft_jsch_JSch_arrayBarrayBarrayB, new JValue(p0), new JValue(native_p1), new JValue(native_p2), new JValue(native_p3));
            if (p1 != null)
            {
                JNIEnv.CopyArray(native_p1, p1);
                JNIEnv.DeleteLocalRef(native_p1);
            }
            if (p2 != null)
            {
                JNIEnv.CopyArray(native_p2, p2);
                JNIEnv.DeleteLocalRef(native_p2);
            }
            if (p3 != null)
            {
                JNIEnv.CopyArray(native_p3, p3);
                JNIEnv.DeleteLocalRef(native_p3);
            }
        }
        static IntPtr n_GetFingerPrint_Lcom_jcraft_jsch_JSch_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
        {
            global::Com.Jcraft.Jsch.HostKey __this = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.HostKey> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Jcraft.Jsch.JSch    p0     = global::Java.Lang.Object.GetObject <global::Com.Jcraft.Jsch.JSch> (native_p0, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.NewString(__this.GetFingerPrint(p0));

            return(__ret);
        }
        public virtual string GetFingerPrint(global::Com.Jcraft.Jsch.JSch p0)
        {
            if (id_getFingerPrint_Lcom_jcraft_jsch_JSch_ == IntPtr.Zero)
            {
                id_getFingerPrint_Lcom_jcraft_jsch_JSch_ = JNIEnv.GetMethodID(class_ref, "getFingerPrint", "(Lcom/jcraft/jsch/JSch;)Ljava/lang/String;");
            }

            string __ret;

            if (GetType() == ThresholdType)
            {
                __ret = JNIEnv.GetString(JNIEnv.CallObjectMethod(Handle, id_getFingerPrint_Lcom_jcraft_jsch_JSch_, new JValue(p0)), JniHandleOwnership.TransferLocalRef);
            }
            else
            {
                __ret = JNIEnv.GetString(JNIEnv.CallNonvirtualObjectMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "getFingerPrint", "(Lcom/jcraft/jsch/JSch;)Ljava/lang/String;"), new JValue(p0)), JniHandleOwnership.TransferLocalRef);
            }
            return(__ret);
        }