Critérios de filtro Groovy em findAll em uma lista

Eu estou tentando criar filtros dinâmicos usando findAll em uma lista. Eu tenho uma variável que precisa ser incluída no filtro somente se não for nula.

 @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

    }

Ambos dando todos os registros. Existe alguma maneira eu posso conseguir isso em uma condição sem necessidade de escrever consultas muiltiple?

Olhando alguns como abaixo (isso não funciona embora)

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

questionAnswers(1)

yourAnswerToTheQuestion