final Geometry geom = new GeometryFactory().createPoint(new Coordinate(0, 0));
FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
Filter intersects = ff.intersects(ff.property("geom"), ff.literal(geom));
Filter bbox = ff.bbox(ff.property("geom"), 0, 0, 1, 1, "EPSG:4326");
Filter crosses = ff.crosses(ff.property("geom"), ff.literal(geom));
Filter disjoint = ff.disjoint(ff.property("geom"), ff.literal(geom));
Filter nonSpatial = ff.equals(ff.property("name"), ff.literal("test"));
Filter filter = ff.and(Arrays.asList(new Filter[] { intersects, bbox, crosses, disjoint,
nonSpatial }));
Filter[] splitted = strategy.splitFilters(caps, filter);