anchor.diff:      } else {
         nodes = (target as dynamic).children;
       }
  -    return nodes.where((node) => node.localName != "template").toList();
  +    items = nodes.where((node) => node.localName != "template").toList();
     }
   
     void targetChanged(old) {
  -    print('target changed: $target, old: $old');
       if (old != null) {
         removeListener(old);
         _observer.disconnect();
  
positive.code:   @published bool notap = false;
    @published dynamic selectedModel = null;
  
    MutationObserver _observer;
  
    SparkSelector.created(): super.created();
  
    void ready() {
      super.ready();
      _observer =
          new MutationObserver((List mutations, MutationObserver observer) {
            updateSelected();
          });
      if (target == null) {
        target = this;
      }
    }
  
    List get items {
      List nodes = null;
      if (target == this) {
        nodes = ($['items'] as dynamic).getDistributedNodes();
  
negative.code:   }
  
    void valueToSelection(value) {
      final index = valueToIndex(value);
      if (index < items.length) {
        var item = items[index];
        ($['selection'] as dynamic).select(item);
      }
    }
  
    void updateSelectedItem() {
  