public static void Invariant(bool assertion) { if (UseExceptions) { if (!assertion) throw new InvariantException("Invariant failed."); } else { Trace.Assert(assertion, "Invariant failed."); } }