void (DirectNode sourcenode, Statement destination, EdgeType edgetype, DirectNode finallyShortRangeSource, DirectNode finallyLongRangeSource, Statement finallyShortRangeEntry, Statement finallyLongRangeEntry, boolean isFinallyMonitorExceptionPath) { if (edgetype != EdgeType.FINALLY_EXIT) { listEdges.add(new Edge(sourcenode.id, destination.id, edgetype)); } if (finallyShortRangeSource != null) { boolean isContinueEdge = (edgetype == EdgeType.CONTINUE); mapShortRangeFinallyPathIds.computeIfAbsent(sourcenode.id, k -> new ArrayList<>()).add(new String[]{ finallyShortRangeSource.id, Integer.toString(destination.id), Integer.toString(finallyShortRangeEntry.id), isFinallyMonitorExceptionPath ? "1" : null, isContinueEdge ? "1" : null}); mapLongRangeFinallyPathIds.computeIfAbsent(sourcenode.id, k -> new ArrayList<>()).add(new String[]{ finallyLongRangeSource.id, Integer.toString(destination.id), Integer.toString(finallyLongRangeEntry.id), isContinueEdge ? "1" : null}); } }