code: function (apply, group) {
  		var shadows = [],
  			i,
  			element = this.element,
  			renderer = this.renderer,
  			shadow,
  			elemStyle = element.style,
  			markup,
  			path = element.path;
  
  		// some times empty paths are not strings
  		if (path && typeof path.value !== 'string') {
  			path = 'x';
  		}
  
  		if (apply) {
  			for (i = 1; i <= 3; i++) {
  				markup = ['<shape isShadow="true" strokeweight="', (7 - 2 * i),
  					'" filled="false" path="', path,
  					'" coordsize="100,100" style="', element.style.cssText, '" />'];
  				shadow = createElement(renderer.prepVML(markup),
  					null, {
  						left: pInt(elemStyle.left) + 1,
  						top: pInt(elemStyle.top) + 1
  					}
  				);
  
  				// apply the opacity
  				markup = ['<stroke color="black" opacity="', (0.05 * i), '"/>'];
  				createElement(renderer.prepVML(markup), null, null, shadow);
  
  
  				// insert it
  				if (group) {
  					group.element.appendChild(shadow);
  				} else {
  					element.parentNode.insertBefore(shadow, element);
  				}
  
  				// record it
  				shadows.push(shadow);
  
  			}
  
  			this.shadows = shadows;
  		}
  		return this;
  
  	}
docs: Apply a drop shadow by copying elements and giving them different strokes
  @param {Boolean} apply