anchor.diff:     * The name of the created entry.
      */
     String get name => entry.name;
  +
  +  Future<bool> exists() {
  +    if (isSync) return new Future.value(true);
  +
  +    return entry.getMetadata().then((_) {
  +      return true;
  +    }).catchError((e) {
  +      return false;
  +    });
  +  }
   }
   
   class _SparkSetupParticipant extends LifecycleParticipant {
  
positive.code:    */
    Future<LocationResult> getProjectLocation() {
      if (_projectLocation != null) {
        return new Future.value(_projectLocation);
      }
  
      // On Chrome OS, use the sync filesystem.
  
negative.code:   static Future<ProjectLocationManager> restoreManager(preferences.PreferenceStore prefs) {
      return prefs.getValue('projectFolder').then((String folderToken) {
        if (folderToken == null) {
          return new ProjectLocationManager._(prefs);
        }
  
        return chrome.fileSystem.restoreEntry(folderToken).then((chrome.Entry entry) {
          return new ProjectLocationManager._(prefs, new LocationResult(entry, entry, false));
        }).catchError((e) {
          return new ProjectLocationManager._(prefs);
        });
      });
    }
  
    ProjectLocationManager._(this._prefs, [this._projectLocation]);
  
    /**
     * Returns the default location to create new projects in. For Chrome OS, this
  