anchor.diff:            post(new PongEvent(this, message));
             break;
   
  -        case "367": // Ban List Entry
  +        case "367": // Ban list entry
             var channel = getChannel(input.parameters[1]);
             if (channel == null) {
               // We Were Banned
  
positive.code:     });
    }
  
    Future<CurrentCapabilitiesEvent> listCurrentCapabilities() {
      var f = onEvent(CurrentCapabilitiesEvent).first;
      send("CAP LS");
      return f;
    }
  
    Future<ServerCapabilitiesEvent> listSupportedCapabilities() {
      var f = onEvent(ServerCapabilitiesEvent).first;
      send("CAP LIST");
      return f;
    }
  
    void _handleCAP(Message input) {
      var cmd = input.parameters[1];
  
      switch (cmd) {
        case "LS":
          _supportedCap = input.message != null ? input.message.trim().split(" ").toSet() : new Set<String>();
          _supportedCap.removeWhere((it) => it == " " || it.trim().isEmpty);
          post(new ServerCapabilitiesEvent(this, _supportedCap));
          break;
        case "LIST":
          _currentCap = input.message != null ? input.message.trim().split(" ").toSet() : new Set<String>();
          _currentCap.removeWhere((it) => it == " " || it.trim().isEmpty);
          post(new CurrentCapabilitiesEvent(this, _currentCap));
          break;
        case "ACK":
          var caps = input.message != null ? input.message.trim().split(" ").toSet() : new Set<String>();
          caps.removeWhere((it) => it == " " || it.trim().isEmpty);
          _currentCap.addAll(caps);
          post(new AcknowledgedCapabilitiesEvent(this, caps));
          break;
        case "NAK":
          var caps = input.message != null ? input.message.trim().split(" ").toSet() : new Set<String>();
          caps.removeWhere((it) => it == " " || it.trim().isEmpty);
          _currentCap.removeWhere((it) => caps.contains(it));
  
negative.code: class Client extends ClientBase {
  
    /**
     * Event Dispatcher.
     */
    final EventDispatcher dispatcher = new EventDispatcher();
  
    /**
     * Configuration for the Client.
     */
    @override
    Configuration config;
  
    /**
     * List of Channels.
     */
    @override
    List<Channel> channels = [];
  
    /**
     * List of Users.
     */
    @override
    List<User> users = [];
  
    /**
     * WHOIS Implementation Builder Storage.
     */
    Map<String, WhoisBuilder> _whoisBuilders;
  
    /**
     * Connection System.
     */
    IrcConnection connection;
  
    /**
     * Flag for if the Client has sent a ReadyEvent.
     */
    bool _ready = false;
  
    /**
     * Privately Stored Nickname.
     */
    String _nickname;
  
    /**
     * Instance of the class that parses incoming messages.
     */
    @override
    final IrcParser parser;
  
    /**
     * Send interval for buffer.
     */
    final Duration sendInterval;
  
    /**
     * Boolean whether the Client is connected to the server or not.
     */
    @override
    bool connected = false;
  
  