That's in cases where the file is directly bound to the class. In our case, a file can have multiple classes and each class can be configured into multiple files.

That's why our system works a bit different. And that's why we can't fully use the JMS metadata library.

The Validator component has the same "problem" as the RoutingAutoBundle: One file contains all metadata for all classes in the bundle. They fixed it by creating one loader instance per file and then merge all retrieved data into eachother in a `DriverChain` object. I don't like that concept. With this PR, we have one loader instance per format, the DriverChain contains all files, passes them to the correct loader and loads the information when needed (and caches it afterwards). This way, the loaders are related to the files they load, while the Driver is related to the class.