public virtual unsafe int[] GetDimensions(global::Com.Bumptech.Glide.Util.MarkEnforcingInputStream p0, global::Com.Bumptech.Glide.Load.Resource.Bitmap.RecyclableBufferedInputStream p1, global::Android.Graphics.BitmapFactory.Options p2)
        {
            if (id_getDimensions_Lcom_bumptech_glide_util_MarkEnforcingInputStream_Lcom_bumptech_glide_load_resource_bitmap_RecyclableBufferedInputStream_Landroid_graphics_BitmapFactory_Options_ == IntPtr.Zero)
            {
                id_getDimensions_Lcom_bumptech_glide_util_MarkEnforcingInputStream_Lcom_bumptech_glide_load_resource_bitmap_RecyclableBufferedInputStream_Landroid_graphics_BitmapFactory_Options_ = JNIEnv.GetMethodID(class_ref, "getDimensions", "(Lcom/bumptech/glide/util/MarkEnforcingInputStream;Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;Landroid/graphics/BitmapFactory$Options;)[I");
            }
            try {
                JValue *__args = stackalloc JValue [3];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                __args [2] = new JValue(p2);

                int[] __ret;
                if (GetType() == ThresholdType)
                {
                    __ret = (int[])JNIEnv.GetArray(JNIEnv.CallObjectMethod(Handle, id_getDimensions_Lcom_bumptech_glide_util_MarkEnforcingInputStream_Lcom_bumptech_glide_load_resource_bitmap_RecyclableBufferedInputStream_Landroid_graphics_BitmapFactory_Options_, __args), JniHandleOwnership.TransferLocalRef, typeof(int));
                }
                else
                {
                    __ret = (int[])JNIEnv.GetArray(JNIEnv.CallNonvirtualObjectMethod(Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "getDimensions", "(Lcom/bumptech/glide/util/MarkEnforcingInputStream;Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;Landroid/graphics/BitmapFactory$Options;)[I"), __args), JniHandleOwnership.TransferLocalRef, typeof(int));
                }
                return(__ret);
            } finally {
            }
        }
        static IntPtr n_GetDimensions_Lcom_bumptech_glide_util_MarkEnforcingInputStream_Lcom_bumptech_glide_load_resource_bitmap_RecyclableBufferedInputStream_Landroid_graphics_BitmapFactory_Options_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1, IntPtr native_p2)
        {
            global::Com.Bumptech.Glide.Load.Resource.Bitmap.Downsampler __this = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Resource.Bitmap.Downsampler> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Com.Bumptech.Glide.Util.MarkEnforcingInputStream    p0     = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Util.MarkEnforcingInputStream> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Com.Bumptech.Glide.Load.Resource.Bitmap.RecyclableBufferedInputStream p1 = global::Java.Lang.Object.GetObject <global::Com.Bumptech.Glide.Load.Resource.Bitmap.RecyclableBufferedInputStream> (native_p1, JniHandleOwnership.DoNotTransfer);
            global::Android.Graphics.BitmapFactory.Options p2 = global::Java.Lang.Object.GetObject <global::Android.Graphics.BitmapFactory.Options> (native_p2, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.NewArray(__this.GetDimensions(p0, p1, p2));

            return(__ret);
        }