           i++
 
   fixBounds: (node) ->
-    console.log "__location: #{JSON.stringify(node.__location)}"
-
     if not node
       return
 

  trimText: (node) ->
    location = node.__location
    location.endOffset = Math.min location.endOffset, @getEndPoint node
    console.log "calling trimText on node #{node.type}"
    text = @text[location.startOffset...location.endOffset].split '\n'
    console.log "text length is #{text.length} location is #{JSON.stringify(location)}"
    i = 0
    while text[i].trim().length is 0
      location.startOffset += text[i].length + 1


  genBounds: (location) ->
    bounds = {
      start: @positions[location.start]
      end: @positions[location.end]
    }

    return bounds
