void uncolorchain ( Arc a ) { ColorDesc cd = colorDescs . get ( a . co ) ; Arc aa ; aa = cd . arcs ; if ( aa == a ) { /* easy case */ cd . arcs = a . colorchain ; } else { for ( ; aa != null && aa . colorchain != a ; aa = aa . colorchain ) { // } assert aa != null ; aa . colorchain = a . colorchain ; } a . colorchain = null ; /* paranoia */ }
uncolorchain - delete this arc from the color chain of its color