anchor.diff:      });
     }
   
  +  /**
  +   * Creates a root for the given LocationResult.
  +   */
     ws.WorkspaceRoot getRootFor(LocationResult location) {
       if (location.isSync) {
         return new ws.SyncFolderRoot(location.entry);
  
positive.code: 
    FileSystemAccess._();
  
    void setOverrideRoot(ws.WorkspaceRoot root) {
      assert(_root == null);
      _root = root;
    }
  
    Future<String> getDisplayPath(chrome.Entry entry) {
      return chrome.fileSystem.getDisplayPath(entry);
    }
  
    Future<ProjectLocationManager> restoreManager(Spark spark, String folderToken) {
      return ProjectLocationManager.restoreManager(spark, folderToken)
          .then((ProjectLocationManager manager) {
  
negative.code:   return _fileSystemAccess;
  }
  
  /**
   * Restores the ProjectLocationManager and returns a future with its value.
   */
  Future<ProjectLocationManager> restoreManager(Spark spark) {
    return spark.localPrefs.getValue('projectFolder').then((String folderToken) {
      return fileSystemAccess.restoreManager(spark, folderToken);
  