code: private void handlePrivateChannel(JsonNode channel) {
          UserImpl recipient = (UserImpl) api.getOrCreateUser(channel.get("recipients").get(0));
          recipient.getPrivateChannel().ifPresent(privateChannel -> {
              PrivateChannelDeleteEvent event = new PrivateChannelDeleteEventImpl(privateChannel);
  
              api.getEventDispatcher().dispatchPrivateChannelDeleteEvent(api, privateChannel, recipient, event);
              long channelId = privateChannel.getId();
              api.removeObjectListeners(PrivateChannel.class, channelId);
              api.removeObjectListeners(VoiceChannel.class, channelId);
              api.removeObjectListeners(TextChannel.class, channelId);
              api.removeObjectListeners(Channel.class, channelId);
              api.forEachCachedMessageWhere(
                      msg -> msg.getChannel().getId() == privateChannel.getId(),
                      msg -> api.removeMessageFromCache(msg.getId())
              );
              recipient.setChannel(null);
          });
      }
docs: Handles a private channel deletion.
  
  @param channel The channel data.