public unsafe RtpTransceiverInit(global::Org.Webrtc.RtpTransceiver.RtpTransceiverDirection direction, global::System.Collections.Generic.IList <string> streamIds, global::System.Collections.Generic.IList <global::Org.Webrtc.RtpParameters.Encoding> sendEncodings)
                : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
            {
                const string __id = "(Lorg/webrtc/RtpTransceiver$RtpTransceiverDirection;Ljava/util/List;Ljava/util/List;)V";

                if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
                {
                    return;
                }

                IntPtr native_streamIds = global::Android.Runtime.JavaList <string> .ToLocalJniHandle(streamIds);

                IntPtr native_sendEncodings = global::Android.Runtime.JavaList <global::Org.Webrtc.RtpParameters.Encoding> .ToLocalJniHandle(sendEncodings);

                try {
                    JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                    __args [0] = new JniArgumentValue((direction == null) ? IntPtr.Zero : ((global::Java.Lang.Object)direction).Handle);
                    __args [1] = new JniArgumentValue(native_streamIds);
                    __args [2] = new JniArgumentValue(native_sendEncodings);
                    var __r = _members.InstanceMethods.StartCreateInstance(__id, ((object)this).GetType(), __args);
                    SetHandle(__r.Handle, JniHandleOwnership.TransferLocalRef);
                    _members.InstanceMethods.FinishCreateInstance(__id, this, __args);
                } finally {
                    JNIEnv.DeleteLocalRef(native_streamIds);
                    JNIEnv.DeleteLocalRef(native_sendEncodings);
                }
            }
            public unsafe RtpTransceiverInit(global::Org.Webrtc.RtpTransceiver.RtpTransceiverDirection direction)
                : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
            {
                const string __id = "(Lorg/webrtc/RtpTransceiver$RtpTransceiverDirection;)V";

                if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
                {
                    return;
                }

                try {
                    JniArgumentValue *__args = stackalloc JniArgumentValue [1];
                    __args [0] = new JniArgumentValue((direction == null) ? IntPtr.Zero : ((global::Java.Lang.Object)direction).Handle);
                    var __r = _members.InstanceMethods.StartCreateInstance(__id, ((object)this).GetType(), __args);
                    SetHandle(__r.Handle, JniHandleOwnership.TransferLocalRef);
                    _members.InstanceMethods.FinishCreateInstance(__id, this, __args);
                } finally {
                }
            }
 static void n_SetDirection_Lorg_webrtc_RtpTransceiver_RtpTransceiverDirection_(IntPtr jnienv, IntPtr native__this, IntPtr native_rtpTransceiverDirection)
 {
     global::Org.Webrtc.RtpTransceiver __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.RtpTransceiver> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Org.Webrtc.RtpTransceiver.RtpTransceiverDirection rtpTransceiverDirection = global::Java.Lang.Object.GetObject <global::Org.Webrtc.RtpTransceiver.RtpTransceiverDirection> (native_rtpTransceiverDirection, JniHandleOwnership.DoNotTransfer);
     __this.Direction = rtpTransceiverDirection;
 }