code: public void drawSymbolDefinition(Object parent, String id, SymbolInfo symbol, ShapeStyle style,
  			Matrix transformation) {
  		if (isAttached()) {
  			if (symbol == null) {
  				return;
  			}
  			symbolDefs.put(id, new SymbolDefinition(symbol, style));
  			if (symbol.getImage() != null) {
  				// When it's an image symbol, add an extra definition for it's selection:
  				SymbolInfo selected = new SymbolInfo();
  				ImageInfo selectedImage = new ImageInfo();
  				selectedImage.setHref(symbol.getImage().getSelectionHref());
  				selectedImage.setWidth(symbol.getImage().getWidth());
  				selectedImage.setHeight(symbol.getImage().getHeight());
  				selected.setImage(selectedImage);
  				symbolDefs.put(id + "-selection", new SymbolDefinition(selected, null));
  			}
  		}
  	}
docs: Draw a type (shapetype for vml).
  
  @param parent
  the parent of the shapetype
  @param id
  the types's unique identifier
  @param symbol
  the symbol information
  @param style
  The default style to apply on the shape-type. Can be overridden when a shape uses this shape-type.
  @param transformation
  the transformation to apply on the symbol