public void AssertEqualityUsing(EquivalencyValidationContext context) { ExecuteUsingSubjectName(context.PropertyDescription, () => { if (!context.ContainsCyclicReference) { foreach (IEquivalencyStep strategy in steps.Where(s => s.CanHandle(context))) { if (strategy.Handle(context, this)) { break; } } } else { context.HandleCyclicReference(); } }); }