in dbus-java/src/main/java/org/freedesktop/dbus/connections/FallbackContainer.java [32:53]
public synchronized ExportedObject get(String path) {
int best = 0;
int i = 0;
ExportedObject bestobject = null;
String[] pathel = path.split("/");
for (String[] fbpath : fallbacks.keySet()) {
logger.trace("Trying fallback path {} to match {}",
Arrays.deepToString(fbpath), Arrays.deepToString(pathel));
for (i = 0; i < pathel.length && i < fbpath.length; i++) {
if (!pathel[i].equals(fbpath[i])) {
break;
}
}
if (i > 0 && i == fbpath.length && i > best) {
bestobject = fallbacks.get(fbpath);
}
logger.trace("Matches {} bestobject now {}", i, bestobject);
}
logger.debug("Found fallback for {} of {}", path, bestobject);
return bestobject;
}