in src/main/java/org/apache/commons/configuration2/JNDIConfiguration.java [206:238]
private Context getContext(final List<String> path, final Context context) throws NamingException {
// return the current context if the path is empty
if (path == null || path.isEmpty()) {
return context;
}
final String key = path.get(0);
// search a context matching the key in the context's elements
NamingEnumeration<NameClassPair> elements = null;
try {
elements = context.list("");
while (elements.hasMore()) {
final NameClassPair nameClassPair = elements.next();
final String name = nameClassPair.getName();
final Object object = context.lookup(name);
if (object instanceof Context && name.equals(key)) {
final Context subcontext = (Context) object;
// recursive search in the sub context
return getContext(path.subList(1, path.size()), subcontext);
}
}
} finally {
if (elements != null) {
elements.close();
}
}
return null;
}