Javadoc
This method and the subsequent caching was added for performance reasons, since the dependencies calculation and
module class loader calculation tends to be time consuming when we manage module with transitives dependencies.
Since the module ClassLoader may change with ever incremental build it's better to store in the cache the
ClassLoader part that has the module dependencies. And the module ClassLoader can be easily calculated using
this ClassLoader as parent. Since current module classes are quickly calculated on each incremental build, etc.