The Java Query library enables language-level code expressions to be represented as objects in the form of expression trees at runtime,
for example, a method call or a binary operation such as x < y.
This enables dynamic analysis of lambda's code, usually for building fluent interfaces.