It seems strange to me that `runMain()` changes the sate of `JUnitCore` (which is does now, by changing `filter`). Could `JUnitCommandLineParser` have a `createRequest` method that returns a `Request`?