anchor.diff:  
   
   
  -  String toDot() {
  +  String toDot({bool escapeLabels: false}) {
       _update();
   
       var sink = new StringBuffer();
  
positive.code: 
    int get hashCode => name.hashCode;
  
    void _write(StringSink sink, String rootName) {
      var isRoot = rootName == name;
  
      var label = name;
      if(version.isNotEmpty) {
        label = label + '\n$version';
      }
  
      var props = { 'label' : '"$label"' };
  
negative.code:     sink.writeln('  node [fontname=Helvetica];');
      sink.writeln('  edge [fontname=Helvetica, fontcolor=gray];');
  
      List<VizPackage> orderedPacks = packages.values.toList(growable: false)
          ..sort();
  
      for(var pack in orderedPacks) {
        sink.writeln();
  
        pack._write(sink, root.name, escapeLabels: escapeLabels);
      }
  
      sink.writeln('}');
  