question: public Object flipEdge ( Object edge ) { if ( edge != null && alternateEdgeStyle != null ) { model . beginUpdate ( ) ; try { String style = model . getStyle ( edge ) ; if ( style == null || style . length ( ) == 0 ) { model . setStyle ( edge , alternateEdgeStyle ) ; } else { model . setStyle ( edge , null ) ; } resetEdge ( edge ) ; fireEvent ( new mxEventObject ( mxEvent . FLIP_EDGE , "edge" , edge ) ) ; } finally { model . endUpdate ( ) ; } } return edge ; }
target:  Called when the main control point of the edge is double-clicked. This implementation switches between null (default) and alternateEdgeStyle and resets the edges control points. Finally, a flip event is fired before endUpdate is called on the model.