I have updated this test to try out more ideas.

1) Andrea's crazy test - works!

    (A IN (1,2,3)) AND (B IN (5,6,7,8))

2) Manually constructing the OR expression did not work as planned!

For two it works ....
ECQL:  (A=1 OR A=2)
Actual: A IN (1,2)

But for three it does not work ...
ECQL: A = 1 OR A = 2 OR A = 3
Actual: (A IN (1,2)) OR A = 3
   
Checking the the debugger shows the OR statements are not building a flat list correctly ...

expected: [[ A = 1 ] OR [ A = 2 ] OR [ A = 3 ]]
actual: [[[ A = 1 ] OR [ A = 2 ]] OR [ A = 3 ]]