+
+ # JASON: In the case where fe is immediately followed by fb:
+ # * inner loop exits out early (node==fe)
+ # * last_node is fb
+ # * last_node is still in the tree (not a duplicate)
+ if last_node.parent?
+ debug_log "FEFIRST? last_node has parent"
+ for c, i in last_node.parent.children
+ if c is last_node
+ debug_log "removing last_node from parent"
+ last_node.parent.children.splice i, 1
+ break
+
+ debug_log "after aaa inner loop"
+ debug_log "ca: #{ca.name}##{ca.id} children: #{serialize_els ca.children, true, true}"
+ debug_log "fe: #{fe.name}##{fe.id} children: #{serialize_els fe.children, true, true}"
+ debug_log "fb: #{fb.name}##{fb.id} children: #{serialize_els fb.children, true, true}"
+ debug_log "last_node: #{last_node.name}##{last_node.id} children: #{serialize_els last_node.children, true, true}"
+ debug_log "tree: #{serialize_els tree.children, false, true}"
+
+ debug_log "insert"
+
+
+ # can't use standard insert token thing, because it's already in
+ # open_els and must stay at it's current position in open_els
+ dest = adjusted_insertion_location ca
+ dest[0].children.splice dest[1], 0, last_node
+ last_node.parent = dest[0]
+
+
+ debug_log "ca: #{ca.name}##{ca.id} children: #{serialize_els ca.children, true, true}"
+ debug_log "fe: #{fe.name}##{fe.id} children: #{serialize_els fe.children, true, true}"
+ debug_log "fb: #{fb.name}##{fb.id} children: #{serialize_els fb.children, true, true}"
+ debug_log "last_node: #{last_node.name}##{last_node.id} children: #{serialize_els last_node.children, true, true}"
+ debug_log "tree: #{serialize_els tree.children, false, true}"
+