When iterating through the JNDI tree in Geronimo with the following code
the isRelative() test always fails. The object returned from the nextElement() call is a ContextUtil$ReadOnlyBinding which has a trivial implementation of the isRelative() method:
Since the ReadOnlyBinding inherits from the NameClassPair it has a instance var named isRelative and inherits a method isRelative() which – at least in my case – has the correct default value of "true". So, the method could be simply deleted so that the original method is used.
However, I haven't dug deep enough into the code to assess if the property is initialized correctly at any time, i.e. for the top level JNDI entries one might assume that those return "false" (OTOH would that really be necessary? In what situation should the NameClassPair return "false" for isRelative ?)