private bool EndpointEquals(Edge x, Edge y)
{
if (IgnoreDirection)
{
if (NameComparer.Equals(x.Source.Name, y.Source.Name))
{
return(NameComparer.Equals(x.Target.Name, y.Target.Name));
}
else
{
return(NameComparer.Equals(x.Source.Name, y.Target.Name) &&
NameComparer.Equals(x.Target.Name, y.Source.Name));
}
}
if (!NameComparer.Equals(x.Source.Name, y.Source.Name))
{
return(false);
}
if (!NameComparer.Equals(x.Target.Name, y.Target.Name))
{
return(false);
}
return(true);
}