anchor.diff:    OptimizingPubPackageMapInfo packageMapInfo;
   
     ContextInfo(
  -      Folder folder, File packagespecFile, this.children, this.packageRoot)
  +      this.parent, Folder folder, File packagespecFile, this.packageRoot)
         : folder = folder,
           pathFilter = new PathFilter(folder.path, null) {
       packageDescriptionPath = packagespecFile.path;
  -    for (ContextInfo child in children) {
  -      child.parent = this;
  -    }
  -  }
  -
  -  /**
  -   * Returns `true` if this context is root folder based.
  -   */
  -  bool get isRoot => parent == null;
  +    parent.children.add(this);
  +  }
  +
  +  /**
  +   * Create the virtual [ContextInfo] which acts as an ancestor to all other
  +   * [ContextInfo]s.
  +   */
  +  ContextInfo._ancestor()
  +      : folder = null,
  +        pathFilter = null;
  +
  +  /**
  +   * Returns `true` if the folder associated with this context is not contained
  +   * within any other folders that have an associated context.
  +   */
  +  bool get isRoot => parent.parent == null;
   
     /**
      * Returns `true` if [path] is excluded, as it is in one of the children.
  
positive.code:   String packageRoot;
  
    /**
     * The [ContextInfo] that encloses this one.
     */
    ContextInfo parent;
  
  
negative.code:     info.changeSubscription.cancel();
      _cancelDependencySubscriptions(info);
      callbacks.removeContext(folder, _computeFlushedFiles(folder));
      bool wasRemoved = info.parent.children.remove(info);
      assert(wasRemoved);
      _contexts.remove(folder);
    }
  
  