Closing this question out because it has been answered in comments. As @JB Nizet mentioned above, List<Report>
works.
For those that wonder what I was doing, it was a generic report runner, wherein each report has its own implementing class, each with a set of DB stored parameters. With this set up, I can leave the report runner running in my app server, drop in jars as necessary, hit re-scan on the sub-context that the ReportRunner maintains (which scans only the Reporting package) and I can modify reports on the fly, without a server restart.