anchor.diff:    String toString() => '${type}: ${resource}';
   }
   
  -/**
  - * Returns a pre-order traversal of the children of the resource.
  - */
  -Iterable<Resource> preOrderTraversal(Resource r) {
  -  int compareChildren(Resource r1, Resource r2) {
  -    if (r1 is Container && r2 is File) return 1;
  -    if (r2 is Container && r1 is File) return -1;
  -    return r1.name.compareTo(r2.name);
  -  }
  -  if (r is Container) {
  -    var children = r.getChildren()
  -        ..sort(compareChildren);
  -    return [ [r], children.expand((c) => preOrderTraversal(c)) ]
  -           .expand((i) => i);
  -  } else {
  -    return [r];
  -  }
  -}
  -
  -
  +
  +
  +
  
positive.code:   }
  
    List<Resource> getChildren() => _localChildren;
    /**
     * Returns a pre-order traversal of all the children of `this`.
     */
    Iterable<Resource> walkChildren() => preOrderTraversal(this);
  }
  
  abstract class Resource {
  
negative.code: 
    List<Resource> getChildren() => _localChildren;
  
    Iterable<Resource> walkChildren() => Container._workspaceTraversal(this);
  
    List<File> getFiles() => _localChildren.where((c) => c is File).toList();
  
  