@Override
 protected void updateValues(ConversationState rawObj) {
   isLoaded.change(rawObj.isLoaded());
   isEmpty.change(rawObj.isEmpty());
   ownReadDate.change(rawObj.getInReadDate());
   ownSendDate.change(rawObj.getOutSendDate());
   readDate.change(rawObj.getOutReadDate());
   receiveDate.change(rawObj.getOutReceiveDate());
 }
  public ConversationVM(ConversationState rawObj) {
    super(rawObj);

    isLoaded = new BooleanValueModel("chat.is_loaded." + rawObj.getPeer(), rawObj.isLoaded());
    isEmpty = new BooleanValueModel("chat.is_empty." + rawObj.getPeer(), rawObj.isEmpty());
    ownReadDate = new ValueModel<>("chat.own_read_date" + rawObj.getPeer(), rawObj.getInReadDate());
    ownSendDate =
        new ValueModel<>("chat.own_send_date" + rawObj.getPeer(), rawObj.getOutSendDate());
    readDate = new ValueModel<>("chat.read_date" + rawObj.getPeer(), rawObj.getOutReadDate());
    receiveDate =
        new ValueModel<>("chat.receive_date" + rawObj.getPeer(), rawObj.getOutReceiveDate());
  }