anchor.diff:  class Config {
   
     /**
  -   * If port is -1, secure communications are disabled
  +   * Whether to enable listening to secure communications
  +   */
  +  final bool useSecure;
  +
  +  /**
  +   * Port used for secure communications
      */
     final int sslPort;
   
     /**
  -   * If port is -1, non-secure communications are disabled
  +   * Whether to enable listening to insecure communications
  +   */
  +  final bool useInsecure;
  +
  +  /**
  +   * Port used for insecure communications
      */
     final int port;
   
  -  Config({this.sslPort: 3110, this.port: 3100});
  +  Config({this.useSecure: false,
  +          this.sslPort: 3110,
  +          this.useInsecure: true,
  +          this.port: 3100});
   
   }
   
   class ConfigReader {
   
  -  static const String SSL_PORT = "ssl_port";
  +  static const String SECURE = "secure";
  +  static const String INSECURE = "insecure";
  +
  +  static const String ENABLED = "enabled";
     static const String PORT = "port";
   
     final File _path;
  
positive.code: 
    Config read() {
      var json = JSON.decode(_path.readAsStringSync());
      int sslPort = _fieldCheck(json, SSL_PORT);
      int port = _fieldCheck(json, PORT);
      return new Config(sslPort: sslPort, port: port);
    }
  
    _fieldCheck(Map m, String field) {
  
negative.code:   ConfigWriter(this._path);
  
    void write(final Config config) {
      final bool exists = _path.existsSync();
      var json = {};
      if (exists)
        json = JSON.decode(_path.readAsStringSync());
  
      if (json[ConfigReader.SECURE] == null)
        json[ConfigReader.SECURE] = {};
  
      var secure = json[ConfigReader.SECURE];
      if (secure[ConfigReader.ENABLED] == null)
        secure[ConfigReader.ENABLED] = config.useSecure;
      if (secure[ConfigReader.PORT] == null)
        secure[ConfigReader.PORT] = config.sslPort;
  
      if (json[ConfigReader.INSECURE] == null)
        json[ConfigReader.INSECURE] = {};
  
      var insecure = json[ConfigReader.INSECURE];
      if (insecure[ConfigReader.ENABLED] == null)
        insecure[ConfigReader.ENABLED] = config.useInsecure;
      if (insecure[ConfigReader.PORT] == null)
        insecure[ConfigReader.PORT] = config.port;
  
      if (exists)
        _path.deleteSync();
      _path.writeAsStringSync(enc.convert(json));
    }
  }
  