}
}else {
return null;
}
}else if (queryExpression instanceof WrapperQueryExpression) {
WrapperQueryExpression wrapperQueryExpresssion = (WrapperQueryExpression) queryExpression;
if (catalog.isInterested(queryExpression)) {
QueryExpression qe = this.reduceToUnderstoodExpressions(catalog, wrapperQueryExpresssion.getQueryExpression());
if (qe != null) {
WrapperQueryExpression wqe = wrapperQueryExpresssion.clone();
wqe.setQueryExpression(qe);
return wqe;
}else if (wrapperQueryExpresssion.isValidWithNoSubExpression()){
WrapperQueryExpression wqe = wrapperQueryExpresssion.clone();
wqe.setQueryExpression(null);
return wqe;
}else {
return null;
}
}else {