public unsafe OutLogSink(global::Org.Jcodec.Common.Logging.OutLogSink.IMessageFormat p0)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [1];
                __args [0] = new JValue(p0);
                if (GetType() != typeof(OutLogSink))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Lorg/jcodec/common/logging/OutLogSink$MessageFormat;)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Lorg/jcodec/common/logging/OutLogSink$MessageFormat;)V", __args);
                    return;
                }

                if (id_ctor_Lorg_jcodec_common_logging_OutLogSink_MessageFormat_ == IntPtr.Zero)
                {
                    id_ctor_Lorg_jcodec_common_logging_OutLogSink_MessageFormat_ = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/jcodec/common/logging/OutLogSink$MessageFormat;)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_jcodec_common_logging_OutLogSink_MessageFormat_, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_jcodec_common_logging_OutLogSink_MessageFormat_, __args);
            } finally {
            }
        }
            static IntPtr n_FormatMessage_Lorg_jcodec_common_logging_Logger_Message_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
            {
                global::Org.Jcodec.Common.Logging.OutLogSink.IMessageFormat __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Common.Logging.OutLogSink.IMessageFormat> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
                global::Org.Jcodec.Common.Logging.Logger.Message            p0     = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Common.Logging.Logger.Message> (native_p0, JniHandleOwnership.DoNotTransfer);
                IntPtr __ret = JNIEnv.NewString(__this.FormatMessage(p0));

                return(__ret);
            }