     if not selection.isValid()
       throw new Error "Invalid selection"
 
+    # In case the selection already has a style (which is different)
+    if selection.style != style
+      selection = new Selection(selection.start, selection.end, style)
+
+    if _.isUndefined selection.style
+      selection.style = style
+
+    @getWord(selection.startPos.word).word
+
     # Try to merge with previous / next contiguous selection
     {prevWord, position} = @_jump(selection.startPos, -1)
     {nextWord, position} = @_jump(selection.endPos,   +1)

  # unobserve:

  # @overload val()
  #   Return the value of the Rte instance as a string
  #
  # @overload val(content)
  #   Set the content of the Rte instance

    pos = selection.startPos.pos

    preSpaces = content.match PreSpacesRegExp
    currWord = @getWord(index).word

    # move the spaces to the previous word if a pos == 0
    if preSpaces isnt null
