code: function( writer, filter ) {
  			if ( filter )
  				this.filter( filter );
  
  			var name = this.name,
  				attribsArray = [],
  				attributes = this.attributes,
  				attrName,
  				attr, i, l;
  
  			// Open element tag.
  			writer.openTag( name, attributes );
  
  			// Copy all attributes to an array.
  			for ( attrName in attributes )
  				attribsArray.push( [ attrName, attributes[ attrName ] ] );
  
  			// Sort the attributes by name.
  			if ( writer.sortAttributes )
  				attribsArray.sort( sortAttribs );
  
  			// Send the attributes.
  			for ( i = 0, l = attribsArray.length; i < l; i++ ) {
  				attr = attribsArray[ i ];
  				writer.attribute( attr[ 0 ], attr[ 1 ] );
  			}
  
  			// Close the tag.
  			writer.openTagClose( name, this.isEmpty );
  
  			this.writeChildrenHtml( writer );
  
  			// Close the element.
  			if ( !this.isEmpty )
  				writer.closeTag( name );
  		}
docs: Writes the element HTML to the CKEDITOR.htmlWriter.
  
  @param {CKEDITOR.htmlParser.basicWriter} writer The writer to which HTML will be written.
  @param {CKEDITOR.htmlParser.filter} [filter] The filter to be applied to this node.
  **Note:** It is unsafe to filter an offline (not appended) node.