You can clone with
The method Query.trueIfTrue() returns a non-exhaustive set of other queries that must match if this query matches a given set of tags.
Similarly, Query.falseIfFalse() returns a non-exhaustive set of other queries that will not match if this query doesn't match a given set of tags.
Right now we come up with these lists of queries in a rather simple naive way (see the constructors of the various query types). Can it be improved?