private static void insertNativeEdge(final List<ReilBlock> nodes,final List<ReilEdge> edges,final ICodeEdge<?> nativeEdge,final ReilInstruction sourceReilInstruction,final ReilInstruction targetReilInstruction){
  for (  final ReilBlock node : nodes) {
    if ((sourceReilInstruction == getLastInstruction(node)) && !hasEdge(nodes,node,targetReilInstruction)) {
      final EdgeType edgeType=ReilHelpers.isJump(sourceReilInstruction) ? nativeEdge.getType() : EdgeType.JUMP_UNCONDITIONAL;
      final ReilBlock targetNode=getNode(targetReilInstruction,nodes);
      final ReilEdge newEdge=new ReilEdge(node,targetNode,edgeType);
      ReilBlock.link(node,targetNode,newEdge);
      edges.add(newEdge);
    }
  }
}

private static void insertNativeEdge ( final List < ReilBlock > nodes , final List < ReilEdge > edges , final ICodeEdge < ? > nativeEdge , final ReilInstruction sourceReilInstruction , final ReilInstruction targetReilInstruction ) { for ( final ReilBlock node : nodes ) { if ( ( sourceReilInstruction == getLastInstruction ( node ) ) && ! hasEdge ( nodes , node , targetReilInstruction ) ) { final EdgeType edgeType = ReilHelpers . isJump ( sourceReilInstruction ) ? nativeEdge . getType ( ) : EdgeType . JUMP_UNCONDITIONAL ; final ReilBlock targetNode = getNode ( targetReilInstruction , nodes ) ; final ReilEdge newEdge = new ReilEdge ( node , targetNode , edgeType ) ; ReilBlock . link ( node , targetNode , newEdge ) ; edges . add ( newEdge ) ; } } }
inserts a single missing edge that could not be deduced automatically from the reil instructions and their operands .
