anchor.diff:      });
       
       resource.subresources.forEach((name, resource) =>
  -        _addLazyGetter(clazz, name, resource, null));
  +        _addLazyGetter(clazz, name, resource, withPrefix: false));
       
       addApiType(clazz);
       return clazz;
  
positive.code:     var out = [rootFile];
      switch (config.splitLevel) {
        case SPLIT_LEVEL_NONE:
          resourceFile = rootFile;
          requestFile = rootFile;
          objectFile = rootFile;
          dispatchFile = rootFile;
          client = new StreamyClient(config, rootFile, null, null, null, null);
          break;
        case SPLIT_LEVEL_PARTS:
          resourceFile = new DartLibraryPart(rootFile.libraryName,
              '${config.outputPrefix}_resources.dart');
          requestFile = new DartLibraryPart(rootFile.libraryName,
              '${config.outputPrefix}_requests.dart');
          objectFile = new DartLibraryPart(rootFile.libraryName,
              '${config.outputPrefix}_objects.dart');
          dispatchFile = new DartLibraryPart(rootFile.libraryName,
              '${config.outputPrefix}_dispatch.dart');
          rootFile.parts.addAll([resourceFile, requestFile, objectFile, dispatchFile]);
          out.addAll([resourceFile, requestFile, objectFile, dispatchFile]);
          client = new StreamyClient(config, rootFile, resourceFile, requestFile, objectFile, dispatchFile);
          break;
        case SPLIT_LEVEL_LIBS:
          resourceFile = new DartLibrary('$libPrefix.resources');
          requestFile = new DartLibrary('$libPrefix.requests');
          objectFile = new DartLibrary('$libPrefix.objects');
          dispatchFile = new DartLibrary('$libPrefix.dispatch');
          resourcePrefix = 'resources';
          requestPrefix = 'requests';
          objectPrefix = 'objects';
          dispatchPrefix = 'dispatch';
          rootFile.imports
            ..[importPath('resources.dart')] = 'resources'
            ..[importPath('dispatch.dart')] = 'dispatch';
          resourceFile.imports
            ..['package:streamy/streamy.dart'] = 'streamy'
            ..['package:fixnum/fixnum.dart'] = 'fixnum'
            ..[config.baseImport] = BASE_PREFIX
            ..[importPath('requests.dart')] = 'requests'
            ..[importPath('objects.dart')] = 'objects';
          requestFile.imports
            ..['package:streamy/streamy.dart'] = 'streamy'
            ..['package:fixnum/fixnum.dart'] = 'fixnum'
            ..[config.baseImport] = BASE_PREFIX
            ..[importPath('objects.dart')] = 'objects'
            ..[importPath('dispatch.dart')] = 'dispatch'
            ..['dart:async'] = null;
          objectFile.imports
            ..['package:streamy/streamy.dart'] = 'streamy'
            ..['package:fixnum/fixnum.dart'] = 'fixnum'
            ..[config.baseImport] = BASE_PREFIX;
          dispatchFile.imports
            ..['package:streamy/streamy.dart'] = 'streamy'
            ..['package:fixnum/fixnum.dart'] = 'fixnum'
            ..[config.baseImport] = BASE_PREFIX
            ..[importPath('objects.dart')] = 'objects';
          out.addAll([resourceFile, requestFile, objectFile, dispatchFile]);
          resourceFile.imports.addAll(api.imports);
          requestFile.imports.addAll(api.imports);
          objectFile.imports.addAll(api.imports);
          dispatchFile.imports.addAll(api.imports);
          client = new StreamyClient(config, rootFile, resourceFile, requestFile, objectFile, dispatchFile);
          break;
      }
      
      rootFile.imports.addAll(api.imports);
      
      // Root class
      if (config.generateApi) {
        rootFile.classes.addAll(processRoot(resourcePrefix, dispatchPrefix));
        resourceFile.classes.addAll(processResources(requestPrefix, objectPrefix));
        requestFile.classes.addAll(processRequests(objectPrefix, dispatchPrefix));
      }
      var schemas = processSchemas();
      objectFile.classes.addAll(schemas.map((schema) => schema.clazz));
      objectFile.typedefs.addAll(schemas.map((schema) => schema.globalDef)
          .where((v) => v != null));
      if (config.generateMarshallers) {
        dispatchFile.classes.add(processMarshaller(objectPrefix));
      }
      return client;
    }
    
    List<DartClass> processRoot(String resourcePrefix, String dispatchPrefix) {
      // Create the resource mixin class.
      var resourceMixin = new DartClass('${makeClassName(api.name)}ResourcesMixin');
      if (api.description != null) {
  
negative.code:     schema.properties.forEach((_, field) {
        // Add getter and setter, delegating to map access.
        var name = makePropertyName(field.name);
        var type = toDartType(field.typeRef, withPrefix: false);
        if (config.mapBackedFields) {
          var f = new DartComplexField(name, type,
              new DartTemplateBody(getter, {'name': field.name}),
  