If two features in GetFeature request contains two different filters: e.g. first filter is AND filter and second filter is INTERSECTS filter, the parsed result is not correct. The reason is bad value assigned in FilterFilter.isLogicFilter variable during parsing the second filter. I fixed it myself by adding statement: isLogicFilter=false; into FilterFilter.startElement method just bellow insideFilter = true;
It solved the problem and i thing that it is the right solution.
The example of described GetFeature request is attached.