Фильтр Groovy по критерию поискаВсе в списке

Я пытаюсь построить динамические фильтры, используя findAll в списке. У меня есть переменная, которая должна быть включена в фильтр, только если не ноль.

 @Test
    void testSample(){
        def list = [ new Employee(age:22, isManager:false), 
                     new Employee(age:23, isManager:true), 
                     new Employee(age:22, isManager:true) ] as Set

        def var = 22;
        String query1 = "it.age == var && it.isManager == true "
        String query2 = "it.isManager == true"

        println list
        println list.findAll { var ? query1 : query2 } // Should give 1 record age = 22 and manager
        var = null;
        println list.findAll { var ? query1 : query2 } // should give 2 records-only manager

    }

Они оба дают все записи. Есть ли в любом случае я могу достичь этого в одном условии без необходимости писать несколько запросов?

Выглядит как ниже (это нехоть и работаю)

println list.findAll{
                if(var) it.age == var &&
                it.isManager == true
        }

Ответы на вопрос(1)

Ваш ответ на вопрос