This kicks off a search by collecting the object property to be searched against.
This kicks off a search by collecting the object property to be searched against. It uses introspection to capture both the name and type of the property. It kicks the search over to OpmSearcherHelper with the specific types of the search (T - the object's class, and V - the property's class), so OpmSearcherHelper can in turn enforce those same types when completing the search.
A class to help determine correct typing on searches for a given OpmObject T.
The case class captures the instance properties of the search (the property that was requested in the search, the callback function, etc) and spins off a call to OpmSearcherHelper. OpmSearcherHelper uses generic typing to preserve the types of both the calling object and the requested property; it can then enforce correct typing when it calls back to the original searcher object.