question: public static Element svgWaitIcon ( Document document , double x , double y , double w , double h ) { Element g = SVGUtil . svgElement ( document , SVGConstants . SVG_G_TAG ) ; setAtt ( g , SVGConstants . SVG_TRANSFORM_ATTRIBUTE , "translate(" + x + " " + y + ") scale(" + w + " " + h + ")" ) ; Element thro = SVGUtil . svgElement ( document , SVGConstants . SVG_PATH_TAG ) ; setAtt ( thro , SVGConstants . SVG_D_ATTRIBUTE , THROBBER_PATH ) ; setStyle ( thro , THROBBER_STYLE ) ; Element anim = SVGUtil . svgElement ( document , SVGConstants . SVG_ANIMATE_TRANSFORM_TAG ) ; setAtt ( anim , SVGConstants . SVG_ATTRIBUTE_NAME_ATTRIBUTE , SVGConstants . SVG_TRANSFORM_ATTRIBUTE ) ; setAtt ( anim , SVGConstants . SVG_ATTRIBUTE_TYPE_ATTRIBUTE , "XML" ) ; setAtt ( anim , SVGConstants . SVG_TYPE_ATTRIBUTE , SVGConstants . SVG_ROTATE_ATTRIBUTE ) ; setAtt ( anim , SVGConstants . SVG_FROM_ATTRIBUTE , "0 .5 .5" ) ; setAtt ( anim , SVGConstants . SVG_TO_ATTRIBUTE , "360 .5 .5" ) ; setAtt ( anim , SVGConstants . SVG_BEGIN_ATTRIBUTE , fmt ( Math . random ( ) * 2 ) + "s" ) ; setAtt ( anim , SVGConstants . SVG_DUR_ATTRIBUTE , "2s" ) ; setAtt ( anim , SVGConstants . SVG_REPEAT_COUNT_ATTRIBUTE , "indefinite" ) ; setAtt ( anim , SVGConstants . SVG_FILL_ATTRIBUTE , "freeze" ) ; thro . appendChild ( anim ) ; g . appendChild ( thro ) ; return g ; }
target:  Draw a simple "please wait" icon (in-progress) as placeholder for running renderings.