insertAfter (target, node) {
    node.prev = target
    node.next = target.next
    if (!node.next) {
      this.tail = node
    } else {
      node.next.prev = node
    }
    target.next = node
  }
Inserts a `node` after `target`, it's assumed that
`target` belongs to this doubly linked list

@param {Vertex} target
@param {Vertex} node