if ( dag.getVertex( parentId ) != null )
{
// Parent is added as an edge, but must not cause a cycle - so we remove any other edges it has in conflict
if ( dag.hasEdge( parentId, id ) )
{
dag.removeEdge( parentId, id );
}
dag.addEdge( id, parentId );
}
}
}