public virtual unsafe void SetRenderer(global::Android.Opengl.GLSurfaceView.IRenderer renderer)
        {
            if (id_setRenderer_Landroid_opengl_GLSurfaceView_Renderer_ == IntPtr.Zero)
            {
                id_setRenderer_Landroid_opengl_GLSurfaceView_Renderer_ = JNIEnv.GetMethodID(class_ref, "setRenderer", "(Landroid/opengl/GLSurfaceView$Renderer;)V");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(renderer);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_setRenderer_Landroid_opengl_GLSurfaceView_Renderer_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "setRenderer", "(Landroid/opengl/GLSurfaceView$Renderer;)V"), __args);
                }
            } finally {
            }
        }
 static void n_SetRenderer_Landroid_opengl_GLSurfaceView_Renderer_(IntPtr jnienv, IntPtr native__this, IntPtr native_renderer)
 {
     global::JP.CO.Cyberagent.Android.Gpuimage.PixelBuffer __this   = global::Java.Lang.Object.GetObject <global::JP.CO.Cyberagent.Android.Gpuimage.PixelBuffer> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Android.Opengl.GLSurfaceView.IRenderer        renderer = (global::Android.Opengl.GLSurfaceView.IRenderer)global::Java.Lang.Object.GetObject <global::Android.Opengl.GLSurfaceView.IRenderer> (native_renderer, JniHandleOwnership.DoNotTransfer);
     __this.SetRenderer(renderer);
 }