/** Add a new comment entry for a user. */
  public void addNotification(
      String username,
      String relatedUser,
      String questionId,
      long answerCount,
      NotificationType notificationType) {
    try {
      Mutator mutator = Pelops.createMutator(TRENDOCEAN_POOL, TRENDOCEAN_KEYSPACE);
      byte[] timeUUIDBytes = UUIDUtil.toBytes(UUIDUtil.getTimeUUID());
      UUID id = UUIDUtil.getRandomUUID();
      byte[] idAsBytes = UUIDUtil.toBytes(id);

      // add new notification
      if (notificationType == NotificationType.COMMENT
          || notificationType == NotificationType.LIKE
          || notificationType == NotificationType.MENTION) {
        mutator.writeSubColumns(
            username,
            WALL_CF,
            timeUUIDBytes,
            mutator.newColumnList(
                mutator.newColumn("_id", idAsBytes),
                mutator.newColumn("_type", toBytes(notificationType.getId())),
                mutator.newColumn("questionId", toBytes(questionId)),
                mutator.newColumn("relatedUser", relatedUser)));
      } else if (notificationType == NotificationType.NEW_FOLLOWER
          || notificationType == NotificationType.FOLLOW_REQUEST_ACCEPT) {
        mutator.writeSubColumns(
            username,
            WALL_CF,
            timeUUIDBytes,
            mutator.newColumnList(
                mutator.newColumn("_id", idAsBytes),
                mutator.newColumn("_type", toBytes(notificationType.getId())),
                mutator.newColumn("relatedUser", relatedUser)));
      } else if (notificationType == NotificationType.ANSWER_COUNT) {
        mutator.writeSubColumns(
            username,
            WALL_CF,
            timeUUIDBytes,
            mutator.newColumnList(
                mutator.newColumn("_id", idAsBytes),
                mutator.newColumn("_type", toBytes(notificationType.getId())),
                mutator.newColumn("questionId", toBytes(questionId)),
                mutator.newColumn("answerCount", toBytes(answerCount))));
      }

      // write reverse mapping for delete
      mutator.writeColumn(username, ID_TO_TIMEUUID_CF, mutator.newColumn(idAsBytes, timeUUIDBytes));
      mutator.execute(ConsistencyLevel.QUORUM);
    } catch (Exception ex) {
      logger.error("Can not add follow entry", username + ":" + questionId, ex);
      throw new TrendOceanException(ex);
    }
  }