The resources are retrieved by
UriLocator's. They are not dealing only with files, but virtually anything (resource from an external location, dynamically generated resource, etc).
GroupProcessor class is responsible for applying preProcessors & postProcessors and merging them.
You might find the
DesignOverview useful to understand the architecture.
Cheers,
Alex