public CachedTextSymbolizer( final TextSymbolizer symbolizer, final SymbolizerRendererService<TextSymbolizer, ? extends CachedSymbolizer<TextSymbolizer>> renderer) { super(symbolizer, renderer); final org.opengis.style.Font font = styleElement.getFont(); cachedFont = CachedFont.cache(font); final Fill fill = styleElement.getFill(); cachedFill = CachedFill.cache(fill); // halo can be null. final Halo halo = styleElement.getHalo(); if (halo != null) { cachedHalo = CachedHalo.cache(halo); } else { cachedHalo = null; } final LabelPlacement placement = styleElement.getLabelPlacement(); if (placement instanceof PointPlacement) { cachedPlacement = CachedPointPlacement.cache((PointPlacement) placement); } else if (placement instanceof LinePlacement) { cachedPlacement = CachedLinePlacement.cache((LinePlacement) placement); } else { throw new IllegalArgumentException( "A text symbolizer must have a placement set of type : PointPlacement or LinePlacement."); } styleElement.getFont(); // symbol.getGeometryPropertyName(); styleElement.getHalo(); styleElement.getLabel(); styleElement.getLabelPlacement(); styleElement.getUnitOfMeasure(); }