Starting in model world (Configuration/ResolvedModule) is right and you first need to find the Configuration containing the moduleX that moduleY reads, this should do it:
Yes, I understand it, I sent a piece of real application code, so it was a little different.
Once you have the Configuration then you need to find the ModuleLayer that was reifed from that Configuration, this should do it: ModuleLayer layer = layerC.parents().stream() .filter(l -> l.configuration() == cf) .findAny() .orElseThrow(); Can you try it?
Yes, it worked. Thank you very much for your help. I didn't understand that we could map layer and modules of this layer by configuration. So I just created Map where as a key I used the configuration of all layers and after that for (var readModule : m.reads()) { var layer = moduleLayersByConfiguration.get(readModule.configuration()); } Several notes: 1. Your code `ModuleLayer layer = layerC.parents().stream()...` didn't find layer if moduleX was in boot layer, but not in direct parents of layerC. In our example 4 layers: 1) boot 2) layerA (parent - boot) has moduleX 3) layerB (parent - boot) has moduleX 4) layerC (parents - layerA, layerB) has moduleY 2. Please see this diagram https://i.stack.imgur.com/ss2os.png that was generated for real application using reads and ResolvedModules (the topic of this thread). Here we have two layers - the right is a boot layer and the left is a webserver layer. The program must show reads of com.google.gson. Reads are shown using dashed arrows. a) we see that gson reads 5 modules. At the same time gson requires only 1 module: module com.google.gson { exports com.google.gson; exports com.google.gson.annotations; exports com.google.gson.reflect; exports com.google.gson.stream; requires transitive java.sql; } Do I understand it correctly that extra 4 modules are read via java.sql? 3. Do I understand it correctly if some explicit module (with module-info) from webserver layer will require any automatic module from webserver layer then this explicit module will read ALL automatic modules from both layers? Best regards, Pavel