public Setter(Flag f) { if (f.isSet) throw new ApplicationException("Trying to set flag which already is set!"); flag = f; flag.isSet = true; }
public static IDisposable Set(Flag f) { return new Setter(f); }