@Override
	public Object clone()
	{
		try
		{
			ExtendedGeneralPath result = (ExtendedGeneralPath) super.clone();
			result.path = (GeneralPath) path.clone();

			if (values != null)
			{
				result.values = new float[values.length];
				System.arraycopy(values, 0, result.values, 0, values.length);
			}
			result.numVals = numVals;

			if (types != null)
			{
				result.types = new int[types.length];
				System.arraycopy(types, 0, result.types, 0, types.length);
			}
			result.numSeg = numSeg;

			return result;
		}
		catch (CloneNotSupportedException ex)
		{
		}
		return null;
	}