anchor.diff:    String cc = "CCCCCCCCCCCCCCCCCCCC";
   }
   
  -class TestModel extends B with C {
  +//class TestModel extends B with C {
  +class TestModel extends VaneModel {
     String name;
     int age;
     Podo podo = new Podo();
  
positive.code: //  TestModel();
  
    TestModel.model();
  }
  
  
  
negative.code:   print(q2.m2["aaa"]);
    print(q2.m2["bb"]);
    print("");
  */
  
  
  
  
  
  
    Podo2 p = new Podo2()
      ..a = 42
  //    ..myMap = new Map<String, String>()
      ..m1["111"] = "aaaaaa"
      ..m1["222"] = "bbbbbb"
      ..m1["333"] = "cccccc"
      ..m2["AAAAAAAA"] = new Item()
      ..m2["BBBBBBBB"] = new Item()
      ..m2["CCCCCCCC"] = new Item()
      ..b.add(1)
      ..b.add(2)
      ..b.add(3)
  //    ..c = new List<Item>()
      ..c.add(new Item())
      ..c.add(new Item())
      ..c.add(new Item());
  
    print("------------------------------------------------------------");
    print(p);
  //  print(p.a);
  //  print(p.m1.runtimeType);
  //  print(p.m1);
  //  print(p.m2.runtimeType);
  //  print(p.m2);
  //  print(p.b.runtimeType);
  //  print(p.b);
  //  print(p.c.runtimeType);
  //  print(p.c);
    print("------------------------------------------------------------");
  
  
  
  
    print(VaneModel.transform(new Podo2()));
    print(VaneModel.transform(new Item()));
  
  
    print("\n");
  
    print(VaneModel.encode(p));
  
    Podo2 p3 = VaneModel.decode(VaneModel.encode(p), new Podo2());
    print("------------------------------------------------------------");
    print(p3);
  //  print(p3.a);
  //  print(p3.m1.runtimeType);
  //  print(p3.m1);
  //  print(p3.m2.runtimeType);
  //  print(p3.m2);
  //  print(p3.b.runtimeType);
  //  print(p3.b);
  //  print(p3.c.runtimeType);
  //  print(p3.c);
    print("------------------------------------------------------------");
  
  
  
  
  
  
  
  
  //  List model;
  //  String json;
  //  model.addAll(VaneModel.decode(json, new List<Item>()));
  }
  
  class Podo2 extends VaneModel {
    int a;
    List<int> b = new List<int>();
    List<Item> c = new List<Item>();
  
    Item myItem = new Item();
  
    List ddd = [];
  
    Map<String, String> m1 = new Map<String, String>();
    Map<String, Item> m2 = new Map<String, Item>();
  }
  
  class Item extends VaneModel {
    String data = "aaaaa";
  
    Item();
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  // TODO: Add better error output for this:
  //class BadListModel extends VaneModel {
  //  List badList;
  //}
  
  
  
  
  
  
  class QQQQQQ extends VaneModel {
    Map<String, ABC> m1 = new Map<String, ABC>();
  