class VariableOnlineResource extends AbstractSymbolizerNode implements ExternalGraphicSource, MarkGraphicSource {

    public PlanarImage getPlanarJAI(Map<String, Object> map) throws ParameterException {
        try {
            URL link = new URL(url.getValue(map));
            if (!imageCache.containsKey(link)) {
                PlanarImage raw = JAI.create("url", link);
                imageCache.put(link, raw);
                Logger.getLogger(VariableOnlineResource.class.getName()).log(Level.INFO, "Download ExternalGraphic from: {0}", url);
            }
            return imageCache.get(link);
        } catch (Exception ex) {
            throw new ParameterException("Can't process the input URL",ex);
        }
    }

    public  VariableOnlineResource();
    public  VariableOnlineResource(StringParameter url);
    public  VariableOnlineResource(VariableOnlineResourceType onlineResource);

}