Polygon poly = null;
    public ImageIcon createArrowIcon(BasicStroke stroke, 				     int width, int height, 				     int arrowHeadType) {	BufferedImage bigImage = new BufferedImage(width, height,						   BufferedImage.TYPE_INT_ARGB);	Graphics2D g = (Graphics2D)bigImage.getGraphics();	int middleY = height/2;	g.setBackground(OMColor.clear);	g.setPaint(OMColor.clear);	g.fillRect(0, 0, width, height);	g.setPaint(Color.black);	g.setStroke(stroke);	g.drawLine(0, middleY, width, middleY);	int upTip = (int)((float)height * .25);	int downTip = (int)((float)height * .75);	if (arrowHeadType == OMArrowHead.ARROWHEAD_DIRECTION_FORWARD || 	    arrowHeadType == OMArrowHead.ARROWHEAD_DIRECTION_BOTH) {	    int rightWingX = (int)((float)width * .75);  	    g.fill(new Polygon(new int[] {width, rightWingX, rightWingX},			       new int[] {middleY, upTip, downTip}, 3));	}	if (arrowHeadType == OMArrowHead.ARROWHEAD_DIRECTION_BACKWARD || 	    arrowHeadType == OMArrowHead.ARROWHEAD_DIRECTION_BOTH) {	    int leftWingX = (int)((float)width * .25); 	    g.fill(new Polygon(new int[] {0, leftWingX, leftWingX},			       new int[] {middleY, upTip, downTip}, 3));	}	return new ImageIcon(bigImage);    }