code: public Edge createEdge(BasicBlock source, BasicBlock dest, @Edge.Type int type) {
          Edge edge = createEdge(source, dest);
          edge.setType(type);
          return edge;
      }
docs: Add a unique edge to the graph. There must be no other edge already in
  the CFG with the same source and destination blocks.
  
  @param source
  the source basic block
  @param dest
  the destination basic block
  @param type
  the type of edge; see constants in EdgeTypes interface
  @return the newly created Edge
  @throws IllegalStateException
  if there is already an edge in the CFG with the same source
  and destination block