@Nullable private IDEtalkEvent createPresenceChangeEvent(User user, UserPresence newPresence) { UserPresence oldPresence = getUserPresence(user); if (!newPresence.equals(oldPresence)) { if (newPresence.isOnline() ^ oldPresence.isOnline()) { return newPresence.isOnline() ? new UserEvent.Online(user) : new UserEvent.Offline(user); } else { return new UserEvent.Updated( user, PRESENCE, oldPresence.getPresenceMode(), newPresence.getPresenceMode()); } } return null; }