anchor.diff:  }
   void onConnectionLost() {
     print("Connection lost");
  -}+}
  
positive.code: import 'dart:io';
  import 'package:mqtt/mqtt_shared.dart';
  import 'package:mqtt/mqtt_connection_io_socket.dart';
  
  /**
   * mqtt_sub
  
negative.code:   int willQoS = QOS_0;
    bool willRetain = false;
    
    ArgParser argParser() {    
      
      var parser = new ArgParser();        
      
      void _help(bool value) {
        if(value) {
          print(parser.getUsage());
          exit(0);
        }
      }  
      void _topic(var t) {
        topic = t;
      }
      parser.addFlag(
          "help", 
          abbr:"h", 
          help:"Prints this help.", 
          negatable:false, 
          callback:_help
        );
      parser.addFlag('clean',
                      abbr: 'c',
                      defaultsTo: true,
                      help: 'enable clean session',
                      callback: (c) => cleanSession = c);
      
      parser.addFlag('debug',
                         abbr: 'd',
                         help: 'enable debug message',
                         callback: (d) => debugMessage = d);
           
      parser.addOption('mqttHost', 
                        abbr:'H', 
                        defaultsTo: '127.0.0.1', 
                        help: 'Mqtt broker host to connect to',
                        callback: (h) => host = h);
      
      parser.addOption('mqttPort', 
                        abbr:'P', 
                        defaultsTo: '1883', 
                        help: 'Mqtt broker port to connect to',
                        callback: (p) => port = int.parse(p));
      
      parser.addOption('clientId', 
                        abbr:'i', 
                        defaultsTo: 'mqtt_dart_sub', 
                        help: 'client ID',
                        callback: (id) => clientID = id);
      
      parser.addOption('keepAlive', 
                        abbr:'k', 
                        defaultsTo: '61', 
                        help: 'keep alive in seconds',
                        callback: (k) => keepAlive = int.parse(k));
      
      parser.addOption('topic', 
                        abbr:'t', 
                        help: 'topic',
                        callback: (t) => _topic(t));
      
      parser.addOption('qos', 
                        abbr:'q', 
                        defaultsTo: '0', 
                        help: 'quality of service',
                        callback: (q) => QoS = int.parse(q));
      
      parser.addOption('user', 
                        abbr:'u', 
                        help: 'username',
                        callback: (u) => user = u);
      
      parser.addOption('password', 
                        abbr:'p', 
                        help: 'password',
                        callback: (p) => password = p);
      
      parser.addOption('willTopic', 
                        abbr:'T', 
                        help: 'Topic for the client will',
                        callback: (wt) => willTopic = wt);    
  
      parser.addOption('willMessage', 
                        abbr:'M', 
                        help: 'Message for the client will',
                        callback: (wp) => willPayload = wp);    
       
      parser.addOption('willQos', 
                        abbr:'Q', 
                        defaultsTo: '0', 
                        help: 'quality of service for the client will',
                        callback: (wq) => willQoS = int.parse(wq));
                          
      parser.addFlag('willRetain',
                        abbr: 'R',
                        defaultsTo: false, 
                        help: 'make the client will retain',
                        callback: (wr) => willRetain = wr );
     
      return parser;  
    }
    
  }
  main(List<String> args) {
    MqttSubOptions mqttOptions = new MqttSubOptions();
    mqttOptions.argParser().parse(args);
    
    // Create MqttClient
    MqttClient<MqttConnectionIOSocket> c = new MqttClient(new MqttConnectionIOSocket.setOptions(host:mqttOptions.host, port: mqttOptions.port), 
  