private void readObject(ObjectInputStream in) throws IOException
	{
		GeneralPath path=new GeneralPath();
		
		int type;
		while((type=in.readInt())!=Integer.MIN_VALUE)
		{
			if(type==PathIterator.SEG_MOVETO||type==PathIterator.SEG_LINETO)
			{
				double x1=in.readDouble();
				double y1=in.readDouble();
				if(type==PathIterator.SEG_MOVETO)
					path.moveTo(x1,y1);
				else
					path.lineTo(x1,y1);
			}
			else if(type==PathIterator.SEG_QUADTO)
			{
				double x1=in.readDouble();
				double y1=in.readDouble();
				double x2=in.readDouble();
				double y2=in.readDouble();
				path.quadTo(x1,y1,x2,y2);
			}
			else if(type==PathIterator.SEG_CUBICTO)
			{
				double x1=in.readDouble();
				double y1=in.readDouble();
				double x2=in.readDouble();
				double y2=in.readDouble();
				double x3=in.readDouble();
				double y3=in.readDouble();
				path.curveTo(x1,y1,x2,y2,x3,y3);
			}
		}
		area=new Area(path);
	}