public static void AgentStateDidChange(this ILPAMSFacadeDelegate This, LPUserEntity agent, string state)
        {
            if (agent == null)
            {
                throw new ArgumentNullException("agent");
            }
            if (state == null)
            {
                throw new ArgumentNullException("state");
            }
            var nsstate = NSString.CreateNative(state);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr(This.Handle, Selector.GetHandle("agentStateDidChange:state:"), agent.Handle, nsstate);
            NSString.ReleaseNative(nsstate);
        }
        public LPConnection(LPUserEntity consumer, LPConversationEntity[] conversations)
            : base(NSObjectFlag.Empty)
        {
            if (consumer == null)
            {
                throw new ArgumentNullException("consumer");
            }
            if (conversations == null)
            {
                throw new ArgumentNullException("conversations");
            }
            var nsa_conversations = NSArray.FromNSObjects(conversations);

            IsDirectBinding = GetType().Assembly == global::ApiDefinition.Messaging.this_assembly;
            if (IsDirectBinding)
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(this.Handle, Selector.GetHandle("initWithConsumer:conversations:"), consumer.Handle, nsa_conversations.Handle), "initWithConsumer:conversations:");
            }
            else
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("initWithConsumer:conversations:"), consumer.Handle, nsa_conversations.Handle), "initWithConsumer:conversations:");
            }
            nsa_conversations.Dispose();
        }