private Set<FcgVertex> toVertices(Iterable<Function> callees, FcgLevel level,
			Map<Function, FcgVertex> newVertexCache) {

		//
		//						Unusual Code Alert
		// We wish to always use the same vertex *instance* across edges that we are
		// creating.  If the vertex is already in the graph, then that will happen as we get it
		// from the graph.  However, if the function does not have a vertex in the graph, then
		// it must be created.  Cache the vertices we retrieve here, whether exiting or created,
		// so that we always use the same instance as we map functions to vertices.
		//

		//@formatter:off
		return CollectionUtils.asStream(callees)
		    .map(f -> {
			  
			    if (newVertexCache.containsKey(f)) {
			    	return newVertexCache.get(f);
			    }
			  
			    FcgVertex v = getOrCreateVertex(f, level);
			    newVertexCache.put(f, v);
			    return v;
		    })
		    .collect(Collectors.toSet())
		    ;
		//@formatter:on
	}
Called when new vertices are added to the graph to ensure that known edges between any
level of the graph get added as the associated vertices are added to the graph.  This
is needed because we don't add all known edges for a single vertex when it is added, as
its associated vertex may not yet be in the graph.   Calling this method ensures that as
vertices appear, the edges are added.

@param newVertices the vertices being added to the graph
@param newEdges the set to which should be added any new edges being added to the graph
Ghidra/Features/GraphFunctionCalls/src/main/java/functioncalls/plugin/FcgProvider.java