void testBoundsCheck() {
    Model model("gait2354_simbody.osim");
    const auto& state = model.initSystem();
    StatesTrajectory states;
    states.append(state);
    states.append(state);
    states.append(state);
    states.append(state);
    
    #ifdef NDEBUG
        // In DEBUG, Visual Studio puts asserts into the index operator.
        states[states.getSize() + 100];
        states[4];
        states[5];
    #endif
    SimTK_TEST_MUST_THROW_EXC(states.get(4), IndexOutOfRange);
    SimTK_TEST_MUST_THROW_EXC(states.get(states.getSize() + 100),
                              IndexOutOfRange);
}