public override TLObject FromStream(Stream input)
        {
            Flags  = GetObject <TLInt>(input);
            ChatId = GetObject <TLInt>(input);
            if (IsSet(Flags, (int)ChatParticipantsFlags.Self))
            {
                SelfParticipant = GetObject <TLChatParticipantBase>(input);
            }

            return(this);
        }
        public override TLObject FromBytes(byte[] bytes, ref int position)
        {
            bytes.ThrowExceptionIfIncorrect(ref position, Signature);

            Flags  = GetObject <TLInt>(bytes, ref position);
            ChatId = GetObject <TLInt>(bytes, ref position);
            if (IsSet(Flags, (int)ChatParticipantsFlags.Self))
            {
                SelfParticipant = GetObject <TLChatParticipantBase>(bytes, ref position);
            }

            return(this);
        }