anchor.diff:  
     /// Returns the modified time of the path or `null` if the file does not
     /// exist.
  -  int? _pollOne(String path) {
  +  _TimestampAndLength? _pollOne(String path) {
       try {
         var file = _provider.getFile(path);
  -      return file.modificationStamp;
  +      var timestamp = file.modificationStamp;
  +      var length = file.lengthSync;
  +      return _TimestampAndLength(timestamp, length);
       } on FileSystemException catch (_) {
         // File doesn't exist, so return null.
         return null;
  
positive.code: 
    _PerWorkspaceData(this.trigger, this.pollSubscription);
  }
  
negative.code:   final List<String> _candidates;
  
    /// The time of last modification of the file under [_validPath].
    _TimestampAndLength? _lastModified;
  
    /// The resource provider used for polling the files.
    final ResourceProvider _provider;
  