docs: public static void addShadowFilter(SVGPlot svgp) {
      Element shadow = svgp.getIdElement(SHADOW_ID);
      if(shadow == null) {
        shadow = svgp.svgElement(SVGConstants.SVG_FILTER_TAG);
        shadow.setAttribute(SVGConstants.SVG_ID_ATTRIBUTE, SHADOW_ID);
        shadow.setAttribute(SVGConstants.SVG_WIDTH_ATTRIBUTE, "140%");
        shadow.setAttribute(SVGConstants.SVG_HEIGHT_ATTRIBUTE, "140%");
  
        Element offset = svgp.svgElement(SVGConstants.SVG_FE_OFFSET_TAG);
        offset.setAttribute(SVGConstants.SVG_IN_ATTRIBUTE, SVGConstants.SVG_SOURCE_ALPHA_VALUE);
        offset.setAttribute(SVGConstants.SVG_RESULT_ATTRIBUTE, "off");
        offset.setAttribute(SVGConstants.SVG_DX_ATTRIBUTE, "0.1");
        offset.setAttribute(SVGConstants.SVG_DY_ATTRIBUTE, "0.1");
        shadow.appendChild(offset);
  
        Element gauss = svgp.svgElement(SVGConstants.SVG_FE_GAUSSIAN_BLUR_TAG);
        gauss.setAttribute(SVGConstants.SVG_IN_ATTRIBUTE, "off");
        gauss.setAttribute(SVGConstants.SVG_RESULT_ATTRIBUTE, "blur");
        gauss.setAttribute(SVGConstants.SVG_STD_DEVIATION_ATTRIBUTE, "0.1");
        shadow.appendChild(gauss);
  
        Element blend = svgp.svgElement(SVGConstants.SVG_FE_BLEND_TAG);
        blend.setAttribute(SVGConstants.SVG_IN_ATTRIBUTE, SVGConstants.SVG_SOURCE_GRAPHIC_VALUE);
        blend.setAttribute(SVGConstants.SVG_IN2_ATTRIBUTE, "blur");
        blend.setAttribute(SVGConstants.SVG_MODE_ATTRIBUTE, SVGConstants.SVG_NORMAL_VALUE);
        shadow.appendChild(blend);
  
        svgp.getDefs().appendChild(shadow);
        svgp.putIdElement(SHADOW_ID, shadow);
      }
    }