@staticmethod
def _merge_with(node, delete_node):
    """Concat forms, merge feats, remove `delete_node`, and keep SpaceAfter of the right node.

        Should be called only on neighboring nodes.
        """
    if node.precedes(delete_node):
        node.form += delete_node.form
        node.misc['SpaceAfter'] = delete_node.misc['SpaceAfter']
    else:
        node.form = delete_node.form + node.form
    if node.parent == delete_node:
        node.parent = delete_node.parent
    for child in delete_node.children:
        child.parent = node
    delete_node.feats.update(node.feats)
    node.feats = delete_node.feats
    delete_node.remove()
