Set<String> usedInputs = new HashSet<String>();
for(DirectedSparseEdge e:(Set<DirectedSparseEdge>)newBlue.getInEdges())
{
Vertex source = e.getSource();
Collection<String> existingLabels = (Collection<String>)e.getUserDatum(JUConstants.LABEL);
g.removeEdge(e);
// It is possible that there is already an edge between g.getSource Blue and newRed
Iterator<DirectedSparseEdge> sourceOutIt = source.getOutEdges().iterator();
Edge fromSourceToNewRed = null;
while(sourceOutIt.hasNext() && fromSourceToNewRed == null)