+ this.viewOnce = dataMessage.isViewOnce();
+ this.reaction = dataMessage.getReaction().isPresent()
+ ? new JsonReaction(dataMessage.getReaction().get(), m)
+ : null;
+ this.quote = dataMessage.getQuote().isPresent() ? new JsonQuote(dataMessage.getQuote().get(), m) : null;
+ if (dataMessage.getMentions().isPresent()) {
+ this.mentions = dataMessage.getMentions()
+ .get()
+ .stream()
+ .map(mention -> new JsonMention(mention, m))
+ .collect(Collectors.toList());
+ } else {
+ this.mentions = List.of();
+ }
+ remoteDelete = dataMessage.getRemoteDelete().isPresent() ? new JsonRemoteDelete(dataMessage.getRemoteDelete()
+ .get()) : null;