}
private ClassPoolDomain getDomain(ClassLoader cl, ClassLoaderDomain domain,
ClassLoaderSystem sys, ScopedClassPoolRepository repository)
{
ClassPoolDomain poolDomain = ClassPoolDomainRegistry.getInstance().getDomain(domain);
if (poolDomain == null)
{
String parentDomainName = domain.getParentDomainName();
if (parentDomainName != null)
{
ClassLoaderDomain parentDomain = sys.getDomain(parentDomainName);
if (parentDomain == null)
{
throw new RuntimeException("No domain found, domain name: " + parentDomainName);
}
ClassPoolDomain parentPoolDomain = this.getDomain(null, parentDomain, sys, repository);
poolDomain = new JBossClClassPoolDomain(domain.getName(), parentPoolDomain, domain.getParentPolicy(), registry);
}
else
{
ClassLoader parentUnitLoader = registry.getParentUnitLoader(cl);