public static uint setRecoFlag(uint flags, bool value, uint flag) { bool isEnabled = 0 != (flags & flag); if (value && !isEnabled) { flags |= flag; } else if (!value && isEnabled) { flags &= ~flag; } return flags; }