anchor.diff: +import 'dart:async';
   import "dart:convert";
   import 'dart:io';
   
  
positive.code: setData(key, value) async {
    print("\t" + key + " ← " + value);
    data[key] = value;
    await new File(persistanceFileName).writeAsString(JSON.encode(data));
  }
  
  
negative.code:   await for (HttpRequest request in requestServer) {
      print(request.method + " " + request.uri.toString());
  
      var parameters = request.uri.queryParameters;
  
      String key = request.uri.path;
      key = key.replaceAll(new RegExp('//+'), "/");
      String value = await UTF8.decodeStream(request);
  
      String finalMethod = request.method;
      if (null != parameters["method"]) {
        finalMethod = parameters["method"];
      }
  
      String finalValue = value;
      if (null != parameters["value"]) {
        finalValue = parameters["value"];
      }
  
      switch (finalMethod) {
        case "GET":
          if (parameters.containsKey("wait")) {
            changeFutures[key] = new Completer();
            changeFutures[key].future.then((value) {
              request.response.write(value);
              request.response.close();
            }).catchError((e) {
              request.response.statusCode = 500;
              request.response.write(e.toString());
              request.response.close();
            });
          } else {
            String result;
            if (key.endsWith("/")) {
              result = getChildrenAtKey(key).join("\n");
            } else {}
            result = getData(key);
            request.response.write(result);
            request.response.close();
          }
          break;
        case "PUT":
          setData(key, finalValue);
  