question: private void addSyntheticEdge ( Collection < GraphEdge > result , GraphEdge original , GraphNode head , GraphNode tail ) { result . add ( new GraphEdge ( head , tail , original . getRelation ( ) ) ) ; }
target:  Synthesize a new edge, and add it to the result. The new edge goes from head to tail, and it's relationship type is obtained from the original edge.