anchor.diff:              }
             }
           } else {
  -//          updateClasses(classes, other.classes, r.classList);
  -          updateClasses(classes, other.classes, r.classes);
  -        }
  +          other.data = data;
  +        }
  +      } else if (!identical(classes, other.classes)) {
  +//        updateClasses(classes, other.classes, r.classList);
  +        updateClasses(classes, other.classes, r.classes);
         }
   
         if ((flags & componentFlag) != 0) {
  
positive.code:         updateStyle(style, other.style, r.style);
        }
  
        if (!identical(classes, other.classes)) {
          if ((flags & elementFlag) != 0) {
            String className = other.type;
            if (other.classes != null) {
              final classesString = other.classes.join(' ');
  
negative.code:           className = className == null ? classesString : className + ' ' + classesString;
          }
          if (className != null) {
            if ((flags & elementFlag) != 0) {
              data = className;
            }
            r.className = className;
          }
        } else {
  