Details
Description
JcrPathImpl and JcrPathSegmentImpl currently do object-equality tests (==) to check for the root path and segment. This is vulnerable to subtle bugs if separate classloaders have created their own instances of the relevant constant values. The root singletons should be separate (anonymous) subclasses that respond to isRoot() differently than the common-case class.