In a recent project, I needed an easy way to traverse Java object trees and extract values from the objects. Instead of continually going through huge iterator-if-else setups, I wanted a tool that would allow me to simply say, "I want the object with id=X, and from that object, I need the value of property A." I needed an object-querying tool. JXPath is such an object-query tool.