public virtual unsafe void AddFilter(global::Com.Bluecats.Sdk.BCEventFilter filter)
        {
            if (id_addFilter_Lcom_bluecats_sdk_BCEventFilter_ == IntPtr.Zero)
            {
                id_addFilter_Lcom_bluecats_sdk_BCEventFilter_ = JNIEnv.GetMethodID(class_ref, "addFilter", "(Lcom/bluecats/sdk/BCEventFilter;)V");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(filter);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_addFilter_Lcom_bluecats_sdk_BCEventFilter_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "addFilter", "(Lcom/bluecats/sdk/BCEventFilter;)V"), __args);
                }
            } finally {
            }
        }
 static void n_AddFilter_Lcom_bluecats_sdk_BCEventFilter_(IntPtr jnienv, IntPtr native__this, IntPtr native_filter)
 {
     global::Com.Bluecats.Sdk.BCTrigger     __this = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCTrigger> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Bluecats.Sdk.BCEventFilter filter = global::Java.Lang.Object.GetObject <global::Com.Bluecats.Sdk.BCEventFilter> (native_filter, JniHandleOwnership.DoNotTransfer);
     __this.AddFilter(filter);
 }