Once these deletions are complete, the terminal edges and any edges incident to
i are removed and the C-node created. The C-node is adjacent to the remaining vertices of
the terminal path (in order), and vertex i. If the new C-node ends up adjacent to another
C-node from the terminal path, the edge between them is contracted and the neighborhood
of the older C-node becomes part of the neighborhood of the new one, preserving the order
and position of the neighbors.