code: function( otherElement ) {
  			// do shallow clones, but with IDs
  			var thisEl = this.clone( 0, 1 ),
  				otherEl = otherElement.clone( 0, 1 );
  
  			// Remove distractions.
  			thisEl.removeAttributes( [ '_moz_dirty', 'data-cke-expando', 'data-cke-saved-href', 'data-cke-saved-name' ] );
  			otherEl.removeAttributes( [ '_moz_dirty', 'data-cke-expando', 'data-cke-saved-href', 'data-cke-saved-name' ] );
  
  			// Native comparison available.
  			if ( thisEl.$.isEqualNode ) {
  				// Styles order matters.
  				thisEl.$.style.cssText = CKEDITOR.tools.normalizeCssText( thisEl.$.style.cssText );
  				otherEl.$.style.cssText = CKEDITOR.tools.normalizeCssText( otherEl.$.style.cssText );
  				return thisEl.$.isEqualNode( otherEl.$ );
  			} else {
  				thisEl = thisEl.getOuterHtml();
  				otherEl = otherEl.getOuterHtml();
  
  				// Fix tiny difference between link href in older IEs.
  				if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 && this.is( 'a' ) ) {
  					var parent = this.getParent();
  					if ( parent.type == CKEDITOR.NODE_ELEMENT ) {
  						var el = parent.clone();
  						el.setHtml( thisEl ), thisEl = el.getHtml();
  						el.setHtml( otherEl ), otherEl = el.getHtml();
  					}
  				}
  
  				return thisEl == otherEl;
  			}
  		}
docs: Compare this element's inner html, tag name, attributes, etc. with other one.
  
  See [W3C's DOM Level 3 spec - node#isEqualNode](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode)
  for more details.
  
  @param {CKEDITOR.dom.element} otherElement Element to compare.
  @returns {Boolean}