### Question:
StyleAttributeExtractor extends FilterAttributeExtractor implements StyleVisitor { public boolean getDefaultGeometryUsed() { return defaultGeometryUsed; }  boolean getDefaultGeometryUsed(); void visit(org.geotools.styling.Style style); void visit(Rule rule); void visit(FeatureTypeStyle fts); void visit(Fill fill); void visit(Stroke stroke); void visit(Symbolizer sym); void visit(RasterSymbolizer rs); void visit(PointSymbolizer ps); void visit(LineSymbolizer line); void visit(PolygonSymbolizer poly); void visit(TextSymbolizer text); void visit(Graphic gr); void visit(Mark mark); void visit(ExternalGraphic exgr); void visit(PointPlacement pp); void visit(AnchorPoint ap); void visit(Displacement dis); void visit(LinePlacement lp); void visit(Halo halo); void visit(StyledLayerDescriptor sld); void visit(NamedLayer layer); void visit(UserLayer layer); void visit(FeatureTypeConstraint ftc); void visit(ColorMap map); void visit(ColorMapEntry entry); void visit(ContrastEnhancement contrastEnhancement); void visit(ImageOutline outline); void visit(ChannelSelection cs); void visit(OverlapBehavior ob); void visit(SelectedChannelType sct); void visit(ShadedRelief sr);  }### Answer:
@Test public void testPlainFilter() { Filter f = ff.greater(ff.property("attribute"), ff.literal(10)); Rule r = sb.createRule(sb.createPointSymbolizer()); r.setFilter(f); StyleAttributeExtractor extractor = new StyleAttributeExtractor(); r.accept(extractor); Set<String> atts = extractor.getAttributeNameSet(); assertTrue(atts.contains("attribute")); assertEquals(1, atts.size()); assertTrue(extractor.getDefaultGeometryUsed()); }