/**
  *
  * @param ProjectModel $projectModel
  * @param string $questionId
  * @param string $answerId
  * @param AnswerModel $answerModel
  * @return string activity id
  */
 public static function updateAnswer($projectModel, $questionId, $answerModel, $mode = "update")
 {
     $activity = new ActivityModel($projectModel);
     $question = new QuestionModel($projectModel, $questionId);
     $text = new TextModel($projectModel, $question->textRef->asString());
     $user = new UserModel($answerModel->userRef->asString());
     $activity->action = $mode == "update" ? ActivityModel::UPDATE_ANSWER : ActivityModel::ADD_ANSWER;
     $activity->userRef->id = $answerModel->userRef->asString();
     $activity->textRef->id = $text->id->asString();
     $activity->questionRef->id = $questionId;
     $activity->addContent(ActivityModel::TEXT, $text->title);
     $activity->addContent(ActivityModel::QUESTION, $question->getTitleForDisplay());
     $activity->addContent(ActivityModel::ANSWER, $answerModel->content);
     $activity->addContent(ActivityModel::USER, $user->username);
     $activityId = $activity->write();
     UnreadActivityModel::markUnreadForProjectMembers($activityId, $projectModel);
     UnreadAnswerModel::markUnreadForProjectMembers($answerModel->id->asString(), $projectModel, $questionId, $answerModel->userRef->asString());
     return $activityId;
 }