public static GeneralPath createArrowHeads(int arrowDirectionType, int location, OMLine line, int wingTip, int wingLength) {  Point[] locPoints = locateArrowHeads(arrowDirectionType, location, line);  Stroke stroke = line.getStroke(); float lineWidth = 1f; if (stroke instanceof BasicStroke) { lineWidth = ((BasicStroke)stroke).getLineWidth(); wingTip += lineWidth; wingLength += lineWidth * 2; }  GeneralPath shape = createArrowHead(locPoints[0], locPoints[1], wingTip, wingLength);  if (locPoints.length > 2) { shape.append(createArrowHead(locPoints[2], locPoints[3], wingTip, wingLength), false); }  return shape;
public static GeneralPath createArrowHeads(int arrowDirectionType, int location, OMLine line) { return createArrowHeads(arrowDirectionType, location, line, DEFAULT_WINGTIP, DEFAULT_WINGLENGTH);
    public static GeneralPath createArrowHeads(int arrowDirectionType,					       int location,					       OMLine line,					       int wingTip,					       int wingLength) {	Point[] locPoints = locateArrowHeads(arrowDirectionType, location, line);	Stroke stroke = line.getStroke();	float lineWidth = 1f;	if (stroke instanceof BasicStroke) {	    lineWidth = ((BasicStroke)stroke).getLineWidth();	    wingTip += lineWidth;	    wingLength += lineWidth * 2;	}	GeneralPath shape = createArrowHead(locPoints[0], locPoints[1],					    wingTip, wingLength);	if (locPoints.length > 2) {	    shape.append(createArrowHead(locPoints[2], locPoints[3], wingTip, wingLength), false);	}	return shape;    }