anchor.diff:     * Return the [FileState] for the give [path]. The returned file has the
      * last known state since if was last refreshed.
      */
  -  FileState getFile(String path) {
  +  FileState getFile(String path, [Uri uri]) {
       FileState file = _pathToFile[path];
       if (file == null) {
  -      Source source = _sourceForPath(path);
  -      file = new FileState(this, path, source);
  +      uri ??= _uriForPath(path);
  +      file = new FileState(this, path, uri);
         _pathToFile[path] = file;
         file.refresh();
       }
  
positive.code:   List<FileState> get partedFiles => _partedFiles;
  
    /**
     * The [UnlinkedUnit] of the file.
     */
    UnlinkedUnit get unlinked => _unlinked;
  
    /**
     * The absolute URI of the file in the [SourceFactory].
     */
    Uri get uri => source.uri;
  
    /**
     * Read the file content and ensure that all of the file properties are
  
negative.code:       // for missing files. Maybe add this feature to SummaryDataStore?
      }
      // Compute the content hash.
      List<int> textBytes = UTF8.encode(_content);
      List<int> hashBytes = md5.convert(textBytes).bytes;
      _contentHash = hex.encode(hashBytes);
      // Prepare bytes of the unlinked bundle - existing or new.
  