code: public void setFillExternalGraphicFillPath( String externalGraphicPath, double size ) throws MalformedURLException {
          Graphic graphic = null;
          PolygonSymbolizerWrapper polygonSymbolizerWrapper = adapt(PolygonSymbolizerWrapper.class);
          if (polygonSymbolizerWrapper != null) {
              graphic = polygonSymbolizerWrapper.getFillGraphicFill();
              if (graphic == null) {
                  graphic = sf.createDefaultGraphic();
              }
              polygonSymbolizerWrapper.setFillGraphicFill(graphic);
          } else {
              return;
          }
          graphic.graphicalSymbols().clear();
          String urlStr = externalGraphicPath;
          if (!externalGraphicPath.startsWith("http:") && !externalGraphicPath.startsWith("file:")) { //$NON-NLS-1$ //$NON-NLS-2$
              urlStr = "file:" + externalGraphicPath; //$NON-NLS-1$
          }
          if (fillExternalGraphicFill == null) {
              fillExternalGraphicFill = sb.createExternalGraphic(new URL(urlStr), getFormat(externalGraphicPath));
          } else {
              setExternalGraphicPath(externalGraphicPath, fillExternalGraphicFill);
          }
          graphic.graphicalSymbols().add(fillExternalGraphicFill);
  
          FilterFactory ff = CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints());
          graphic.setSize(ff.literal(size));
      }
docs: Set the fill's {@link ExternalGraphic} path.
  
  <p>Currently one {@link ExternalGraphic} per {@link Symbolizer} is supported.
  
  <p>This is used for polygons.
  
  @param externalGraphicPath the path to set.
  @throws MalformedURLException