code: function()
  		{
  			var container = this.startContainer;
  			var offset = this.startOffset;
  
  			if ( container.type != CKEDITOR.NODE_ELEMENT )
  			{
  				if ( !offset )
  					this.setStartBefore( container );
  				else if ( offset >= container.getLength() )
  					this.setStartAfter( container );
  			}
  
  			container = this.endContainer;
  			offset = this.endOffset;
  
  			if ( container.type != CKEDITOR.NODE_ELEMENT )
  			{
  				if ( !offset )
  					this.setEndBefore( container );
  				else if ( offset >= container.getLength() )
  					this.setEndAfter( container );
  			}
  		}
docs: Transforms the startContainer and endContainer properties from text
  nodes to element nodes, whenever possible. This is actually possible
  if either of the boundary containers point to a text node, and its
  offset is set to zero, or after the last char in the node.