Using ToggleRange method
// msel is initialized elsewhere and is currently empty
msel.ToggleRange(100, 50); // selection: [100..150)
msel.ToggleRange(100, 10); // selection: [110..150)
msel.ToggleRange(0, 10); // selection: [0..10) U [110..150)
msel.ToggleRange(140, 20); // selection: [0..10) U [110..140) U [150..160)
msel.ToggleRange(10, 100); // selection: [0..140) U [150..160)