anchor.diff:            }
           }
           if (type != null) {
  -          tmp.write("    if ($key != null) {\n");
  +          String propName = cleanName(key);
  +          tmp.write("    if ($propName != null) {\n");
             if (array) {
               tmp.write("      output[\"$key\"] = new List();\n");
  -            tmp.write("      $key.forEach((item) {\n");
  +            tmp.write("      $propName.forEach((item) {\n");
               if (object) {
                 tmp.write("        output[\"$key\"].add(item.toJson());\n");
               } else {
  
positive.code:           }
          }
          if (type != null) {
            tmp.write("    if (json.containsKey(\"$key\")) {\n");
            if (array) {
              tmp.write("      $key = [];\n");
              tmp.write("      json[\"$key\"].forEach((item) {\n");
              if (object) {
                tmp.write("        $key.add(new $type.fromJson(item));\n");
              } else {
                tmp.write("        $key.add(item);\n");
              }
              tmp.write("      });\n");
            } else {
              if (object) {
                tmp.write("      $key = new $type.fromJson(json[\"$key\"]);\n");
              } else {
                tmp.write("      $key = json[\"$key\"];\n");
              }
            }
            tmp.write("    }\n");
  
negative.code:           }
          }
          if (type != null) {
            String propName = cleanName(key);
            if (property.containsKey("description")) {
              tmp.write("\n  /** ${property["description"]} */\n");
            }
            if (array) {
              tmp.write("  List<$type> $propName;\n");
            } else {
              tmp.write("  $type $propName;\n");
            }
          }
        });
  