public void AddClaim(Claim claim) { for (var i = claim.Left; i < claim.Right; ++i) { for (var j = claim.Top; j < claim.Bottom; ++j) { foreach (var conflictingClaim in canvas[i, j]) { claim.ConflictsWith(conflictingClaim); } canvas[i, j].Add(claim); } } }