anchor.diff:  
     ASTRemover(Component component)
         : metadata = component.metadata[new BytecodeMetadataRepository().tag] {
  -    stashes[component] = new _ComponentStash(component.mainMethod);
  +    stashes[component] = new _ComponentStash(component.mainMethod,
  +        new Map<String, MetadataRepository<dynamic>>.from(component.metadata));
       component.mainMethod = null;
  +    component.metadata.removeWhere((tag, md) => tag != metadata.tag);
     }
   
     @override
  
positive.code: 
  class _ComponentStash extends _Stash {
    final Procedure mainMethod;
  
    _ComponentStash(this.mainMethod);
  }
  
negative.code:       if (node is Component) {
          _ComponentStash componentStash = stash as _ComponentStash;
          node.mainMethod = componentStash.mainMethod;
          node.metadata.addAll(componentStash.metadata);
        } else if (node is Library) {
          _LibraryStash libraryStash = stash as _LibraryStash;
          node.annotations.addAll(libraryStash.annotations);
  