anchor.diff:        throw(e);
       });
       _logger.info("PERF: Deleted Export with ID ${record.UUID}");
  -    return new Future.value(new DataSaveObject.FromData(record.dart, record.html, record.css));
  +    return new Future.value(new PadSaveObject.FromRecordSource(record));
     }
   }
   
  
positive.code:  */
  @db.Kind()
  class GaeExportRecord extends db.Model {
    @db.StringProperty()
    String dart;
  
    @db.StringProperty()
    String html;
  
    @db.StringProperty()
    String css;
  
    @db.StringProperty()
    String UUID;
    
    GaeExportRecord();
  
    GaeExportRecord.FromData(String dart, String html, String css, {String UUID}) {
      this.dart = dart;
      this.html = html;
      this.css = css;
      this.UUID = UUID;
    }
    
    GaeExportRecord.FromDSO(DataSaveObject dso) {
      this.dart = dso.dart;
      this.html = dso.html;
      this.css = dso.css;
      this.UUID = dso.UUID;
    }
  }
  
  class DataSaveObject {
    String dart;
    String html;
    String css;
    String UUID;
    DataSaveObject();
  
    DataSaveObject.FromData(String dart, String html, String css, {String UUID}) {
      this.dart = dart;
      this.html = html;
      this.css = css;
      this.UUID = UUID;
    }
  }
  
  
negative.code:   }
  }
  
  List<int> computeSHA1(GaeExportRecord record) {
    crypto.SHA1 sha1 = new crypto.SHA1();
    convert.Utf8Encoder utf8 = new convert.Utf8Encoder();
    sha1.add(utf8.convert("blob  'n ${record.getDart} ${record.getHtml} ${record.getCss}"));
    return sha1.close();
  }
  
  // SHA1 set the id
  void sha1SetUUID(GaeExportRecord record) {
    record.UUID = crypto.CryptoUtils.bytesToHex(computeSHA1(record));
  }