throw new IllegalStateException("Item not resolved: " + item);
// Dynamic requirement, create it lazily
if (requirement.isDynamic())
{
DelegateLoader delegate = createLazyDelegateLoader(checkDomain(), item);
dynamic.add(delegate);
continue;
}
String name = (String) item.getIDependOn();
if (name == null)
{
// Optional requirement, just ignore
if (requirement.isOptional())
continue;
// Something has gone wrong
throw new IllegalStateException("No iDependOn for item: " + item);
}
Module iDependOnModule = checkDomain().getModule(name);
if (iDependOnModule == null)
throw new IllegalStateException("Module not found with name: " + name);
// Determine the delegate loader for the module
Module other = item.getModule();
DelegateLoader delegate = iDependOnModule.getDelegateLoader(other, requirement);
// Check for re-export by the module
if (requirement.wantReExports())
addDelegates(iDependOnModule, delegates, dynamic, visited, true);