All Java AST supported by logic queries. (tight symbiosis with Eclipse JDT)
When there isn't a dedicated predicate, the language allows to query the Eclipse semantic analyzer directly. (this solves the covariant arrays use case)
template matching doesn't support all features. (for example generics, wildcards, try/catch blocks)