{
ModificationState state1 = vertex1.getEnvelope().getModificationState();
ModificationState state2 = vertex2.getEnvelope().getModificationState();
if (state1.needsDelete())
{
if (state2.needsUpdate() || state2.needsDelete())
{
// Before deleting (1) give potential previous collection
// members a chance to drop their FKs to it
return new Edge(vertex2, vertex1, POTENTIAL_EDGE_WEIGHT);
}