public virtual unsafe void RegisterTable(global::Com.Liveperson.Infra.Database.Tables.IBaseTable p0)
        {
            if (id_registerTable_Lcom_liveperson_infra_database_tables_BaseTable_ == IntPtr.Zero)
            {
                id_registerTable_Lcom_liveperson_infra_database_tables_BaseTable_ = JNIEnv.GetMethodID(class_ref, "registerTable", "(Lcom/liveperson/infra/database/tables/BaseTable;)V");
            }
            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);

                if (((object)this).GetType() == ThresholdType)
                {
                    JNIEnv.CallVoidMethod(((global::Java.Lang.Object) this).Handle, id_registerTable_Lcom_liveperson_infra_database_tables_BaseTable_, __args);
                }
                else
                {
                    JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "registerTable", "(Lcom/liveperson/infra/database/tables/BaseTable;)V"), __args);
                }
            } finally {
            }
        }
 static void n_OnTableUpgrade_Landroid_database_sqlite_SQLiteDatabase_II(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, int p1, int p2)
 {
     global::Com.Liveperson.Infra.Database.Tables.IBaseTable __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.Tables.IBaseTable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Android.Database.Sqlite.SQLiteDatabase          p0     = global::Java.Lang.Object.GetObject <global::Android.Database.Sqlite.SQLiteDatabase> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.OnTableUpgrade(p0, p1, p2);
 }
 static void n_RegisterTable_Lcom_liveperson_infra_database_tables_BaseTable_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Com.Liveperson.Infra.Database.DatabaseManager   __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.DatabaseManager> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Com.Liveperson.Infra.Database.Tables.IBaseTable p0     = (global::Com.Liveperson.Infra.Database.Tables.IBaseTable)global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.Tables.IBaseTable> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.RegisterTable(p0);
 }
 static IntPtr n_GetName(IntPtr jnienv, IntPtr native__this)
 {
     global::Com.Liveperson.Infra.Database.Tables.IBaseTable __this = global::Java.Lang.Object.GetObject <global::Com.Liveperson.Infra.Database.Tables.IBaseTable> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewString(__this.Name));
 }