anchor.diff:  
       writeString("$libFolder/$srcFolder/client/client.dart", _createClientClass);
   
  -    writeFile("$libFolder/$srcFolder/client/schemas.dart", _createSchemas);
  -
  -    writeFile("$libFolder/$srcFolder/client/resources.dart", _createResources);
  +    writeFile("$libFolder/$srcFolder/client/schemas.dart", _writeSchemas);
  +
  +    writeFile("$libFolder/$srcFolder/client/resources.dart", _writeResources);
   
       // Create browser versions of the libraries
       writeString("$libFolder/$_libraryBrowserName.dart", _createBrowserLibrary(srcFolder));
   
       writeString("$libFolder/$srcFolder/browser/browser_client.dart", _createBrowserClientClass);
   
  -    writeFile("$libFolder/$srcFolder/browser/$_name.dart", _createBrowserMainClass);
  +    writeFile("$libFolder/$srcFolder/browser/$_name.dart", _writeBrowserMainClass);
   
       // Create console versions of the libraries
       writeString("$libFolder/$_libraryConsoleName.dart", _createConsoleLibrary(srcFolder));
   
       writeString("$libFolder/$srcFolder/console/console_client.dart", _createConsoleClientClass);
   
  -    writeFile("$libFolder/$srcFolder/console/$_name.dart", _createConsoleMainClass);
  +    writeFile("$libFolder/$srcFolder/console/$_name.dart", _writeConsoleMainClass);
   
       // Create hop_runner for the libraries
       writeString("$mainFolder/tool/hop_runner.dart", _createHopRunner);
  
positive.code:           }
            if (type != null) {
              var variable = escapeParameter(cleanName(param));
              _createParamComment(tmp, variable, data["parameters"][param]);
              if (data["parameters"][param].containsKey("repeated") && data["parameters"][param]["repeated"] == true) {
                params.add("core.List<$type> $variable");
              } else {
  
negative.code:         if (type != null) {
            String propName = escapeProperty(cleanName(key));
            String jsonName = key.replaceAll("\$", "\\\$");
            sink.write("    if (json.containsKey(\"$jsonName\")) {\n");
            if (array) {
              sink.write("      $propName = [];\n");
              sink.write("      json[\"$jsonName\"].forEach((item) {\n");
              if (object) {
                sink.write("        $propName.add(new $type.fromJson(item));\n");
              } else {
                sink.write("        $propName.add(item);\n");
              }
              sink.write("      });\n");
            } else {
              if (object) {
                sink.write("      $propName = new $type.fromJson(json[\"$jsonName\"]);\n");
              } else {
                if(schemaType=="string" && schemaFormat == "int64") {
                  sink.write("      if(json[\"$jsonName\"] is core.String){\n");
                  sink.write("        $propName = core.int.parse(json[\"$jsonName\"]);\n");
                  sink.write("      }else{\n");
                  sink.write("        $propName = json[\"$jsonName\"];\n");
                  sink.write("      }\n");
                }else{
                  sink.write("      $propName = json[\"$jsonName\"];\n");
                }
              }
            }
            sink.write("    }\n");
          }
        });
      }
      sink.write("  }\n\n");
  
      sink.write("  /** Create JSON Object for $name */\n");
      sink.write("  core.Map toJson() {\n");
      sink.write("    var output = new core.Map();\n\n");
      if (data.containsKey("properties")) {
        data["properties"].forEach((key, property) {
          var schemaType = property["type"];
  