public unsafe OcrPlugin(global::Org.Neuroph.Imgrec.Image.Dimension p0, global::Org.Neuroph.Imgrec.ColorMode p1)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                if (GetType() != typeof(OcrPlugin))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lorg/neuroph/imgrec/image/Dimension;Lorg/neuroph/imgrec/ColorMode;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lorg/neuroph/imgrec/image/Dimension;Lorg/neuroph/imgrec/ColorMode;)V", __args);
                    return;
                }

                if (id_ctor_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_ == IntPtr.Zero)
                {
                    id_ctor_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/neuroph/imgrec/image/Dimension;Lorg/neuroph/imgrec/ColorMode;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_, __args);
            } finally {
            }
        }
        public static unsafe global::Org.Neuroph.Imgrec.ColorMode ValueOf(string p0)
        {
            if (id_valueOf_Ljava_lang_String_ == IntPtr.Zero)
            {
                id_valueOf_Ljava_lang_String_ = JNIEnv.GetStaticMethodID(class_ref, "valueOf", "(Ljava/lang/String;)Lorg/neuroph/imgrec/ColorMode;");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(native_p0);
                global::Org.Neuroph.Imgrec.ColorMode __ret = global::Java.Lang.Object.GetObject <global::Org.Neuroph.Imgrec.ColorMode> (JNIEnv.CallStaticObjectMethod(class_ref, id_valueOf_Ljava_lang_String_, __args), JniHandleOwnership.TransferLocalRef);
                return(__ret);
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
            }
        }
        public static unsafe global::Org.Neuroph.Core.NeuralNetwork CreateNewNeuralNetwork(string p0, global::Org.Neuroph.Imgrec.Image.Dimension p1, global::Org.Neuroph.Imgrec.ColorMode p2, global::System.Collections.Generic.IList <string> p3, global::System.Collections.Generic.IList <global::Java.Lang.Integer> p4, global::Org.Neuroph.Util.TransferFunctionType p5)
        {
            if (id_createNewNeuralNetwork_Ljava_lang_String_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_Ljava_util_List_Ljava_util_List_Lorg_neuroph_util_TransferFunctionType_ == IntPtr.Zero)
            {
                id_createNewNeuralNetwork_Ljava_lang_String_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_Ljava_util_List_Ljava_util_List_Lorg_neuroph_util_TransferFunctionType_ = JNIEnv.GetStaticMethodID(class_ref, "createNewNeuralNetwork", "(Ljava/lang/String;Lorg/neuroph/imgrec/image/Dimension;Lorg/neuroph/imgrec/ColorMode;Ljava/util/List;Ljava/util/List;Lorg/neuroph/util/TransferFunctionType;)Lorg/neuroph/core/NeuralNetwork;");
            }
            IntPtr native_p0 = JNIEnv.NewString(p0);
            IntPtr native_p3 = global::Android.Runtime.JavaList <string> .ToLocalJniHandle(p3);

            IntPtr native_p4 = global::Android.Runtime.JavaList <global::Java.Lang.Integer> .ToLocalJniHandle(p4);

            try {
                JValue *__args = stackalloc JValue [6];
                __args [0] = new JValue(native_p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);
                __args [3] = new JValue(native_p3);
                __args [4] = new JValue(native_p4);
                __args [5] = new JValue(p5);
                global::Org.Neuroph.Core.NeuralNetwork __ret = global::Java.Lang.Object.GetObject <global::Org.Neuroph.Core.NeuralNetwork> (JNIEnv.CallStaticObjectMethod(class_ref, id_createNewNeuralNetwork_Ljava_lang_String_Lorg_neuroph_imgrec_image_Dimension_Lorg_neuroph_imgrec_ColorMode_Ljava_util_List_Ljava_util_List_Lorg_neuroph_util_TransferFunctionType_, __args), JniHandleOwnership.TransferLocalRef);
                return(__ret);
            } finally {
                JNIEnv.DeleteLocalRef(native_p0);
                JNIEnv.DeleteLocalRef(native_p3);
                JNIEnv.DeleteLocalRef(native_p4);
            }
        }