This change is likely to cause a noticeable slowdown for most users of BlockJUnit4ClassRunner. The `TestClass` object is expensive to create, because there's a lot of reflection going on. If there are multiple child methods/runners, then that cost is amortized over those children. With your change, we'll make an additional two reflective passes over the fields and methods per child.

It's unfortunate that "target" is the actual target, and not a class wrapping the target.