anchor.diff:      return severity;
     }
   
  +  Future _refresh() {
  +    return entry.getMetadata().then((/*Metadata*/ metaData) {
  +      final int newStamp = metaData.modificationTime.millisecondsSinceEpoch;
  +      if (newStamp != _timestamp) {
  +        _timestamp = newStamp;
  +        _fireResourceEvent(new ChangeDelta(this, EventType.CHANGE));
  +      }
  +    });
  +  }
  +
     chrome.ChromeFileEntry get _fileEntry => entry;
   }
   
  
positive.code:    * Check the files on disk for changes that we don't know about. Fire resource
     * change events as necessary.
     */
    void refresh() {
      // TODO: Implement.
  
      print('Project.refresh(): ${name}');
    }
  }
  
  
negative.code: 
    Future setContents(String contents) {
      return _fileEntry.writeText(contents).then((_) {
        workspace._fireResourceEvent(new ChangeDelta(this, EventType.CHANGE));
      });
    }
  
  