Finally, the misunderstanding. You have a separate "StubbedReader" class, which is used by WeatherDataImpl and FootballDataImpl. In the Nullables patterns, stubs are an implementation detail. They aren't exposed. It should be a private class within WeatherDataImpl and FootballDataImpl...
...except that would mean duplication. Right now, WeatherDataImpl and FootballDataImpl duplicate their file-handling logic.