// #1 static type analysis
//srcVar.staticAnalysis(statEnv);
final XQExpression analysedFilter = filterExpr.staticAnalysis(statEnv);
final XQExpression arrangedExpr = rewrite(srcVar, analysedFilter, statEnv);
if(arrangedExpr != null) {
return arrangedExpr.staticAnalysis(statEnv);
} else {
XQExpression prev = srcVar.getValue();
srcVar.staticAnalysis(statEnv);
XQExpression curr = srcVar.getValue();
if(curr != prev) {