anchor.diff:          updateStyle(style, other.style, r.style);
         }
   
  -      if (!identical(classes, other.classes)) {
  -        if ((flags & elementFlag) != 0) {
  +      if ((flags & elementFlag) != 0) {
  +        if (!identical(classes, other.classes)) {
             String className = other.type;
             if (other.classes != null) {
               final classesString = other.classes.join(' ');
  
positive.code:           className = className == null ? classesString : className + ' ' + classesString;
          }
          if (className != null) {
            data = className;
            r.className = className;
          }
        } else {
  
negative.code:             }
            }
          } else {
            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) {
  