private boolean handleConfiguration(boolean loaded, String rootModuleConf, IvyNode parent,
String parentConf, String conf, boolean shouldBePublic) {
if (md != null) {
String[] confs = getRealConfs(conf);
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 " + parent + " " + parentConf);
} else {
problem = new RuntimeException("configuration(s) not found in " + this
+ ": " + confs[i] + ". It was required from " + parent + " "
+ parentConf);
}
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 " + parent + " " + parentConf);
return false;
}