@Override
 public void deserialize(ProtocolBuffer buffer) {
   flags = buffer.readInt();
   id = buffer.readInt();
   from_id = buffer.readInt();
   to_id = (TLPeer) buffer.readTLObject(APIContext.getInstance());
   date = buffer.readInt();
   action = (TLMessageAction) buffer.readTLObject(APIContext.getInstance());
 }
 @Override
 public void deserialize(ProtocolBuffer buffer) {
   chat_id = buffer.readInt();
   admin_id = buffer.readInt();
   participants = (TLVector<TLChatParticipant>) buffer.readTLObject(APIContext.getInstance());
   version = buffer.readInt();
 }
 @Override
 public void deserialize(ProtocolBuffer buffer) {
   random_id = buffer.readLong();
   chat_id = buffer.readInt();
   date = buffer.readInt();
   bytes = buffer.readBytes();
   file = (TLEncryptedFile) buffer.readTLObject(APIContext.getInstance());
 }
 @Override
 public void deserialize(ProtocolBuffer buffer) {
   messages = (TLVector<TLMessage>) buffer.readTLObject(APIContext.getInstance());
   chats = (TLVector<TLChat>) buffer.readTLObject(APIContext.getInstance());
   users = (TLVector<TLUser>) buffer.readTLObject(APIContext.getInstance());
 }