String[] confs = getRealConfs(conf);
    private boolean handleConfiguration(boolean loaded, String conf, boolean shouldBePublic) {        String[] confs = getRealConfs(conf);        if (_md != null) {            for (int i = 0; i < confs.length; i++) {                Configuration c = _md.getConfiguration(confs[i]);                if (c == null) {                    _confsToFetch.remove(conf);                    if (!conf.equals(confs[i])) {                        _problem = new RuntimeException("configuration(s) not found in "+this+": "+conf+". Missing configuration: "+confs[i]+". It was required from "+getParent()+" "+getParentConf());                    } else {                        _problem = new RuntimeException("configuration(s) not found in "+this+": "+confs[i]+". It was required from "+getParent()+" "+getParentConf());                    }                    _data.getReport().addDependency(this);                    return false;                } else if (shouldBePublic && !isRoot() && c.getVisibility() != Configuration.Visibility.PUBLIC) {                    _confsToFetch.remove(conf);                    _problem = new RuntimeException("configuration not public in "+this+": "+c+". It was required from "+getParent()+" "+getParentConf());                    _data.getReport().addDependency(this);                    return false;                }                if (loaded) {                    _fetchedConfigurations.add(conf);                    _confsToFetch.removeAll(Arrays.asList(confs));                    _confsToFetch.remove(conf);                }                addRootModuleConfigurations(_rootModuleConf, confs);            }        }        return true;    }