List<Filter> otherFilters = new ArrayList<Filter>();
List<Filter> children = ((Or) simplified).getChildren();
for (Filter child : children) {
// we know how to merge only bbox and intersects for the moment
if(child instanceof BinarySpatialOperator) {
BinarySpatialOperator bso = (BinarySpatialOperator) child;
String name = null;
SpatialOperation so = null;
if(bso.getExpression1() instanceof PropertyName && bso.getExpression2() instanceof Literal) {
name = ((PropertyName) bso.getExpression1()).getPropertyName();
so = new SpatialOperation(bso);
} else if(bso.getExpression2() instanceof PropertyName && bso.getExpression1() instanceof Literal) {
name = ((PropertyName) bso.getExpression2()).getPropertyName();
so = new SpatialOperation(bso);
}
if(name != null && so != null) {
// handle the default geometry case