private void writeDouble(List<Byte> ret, double val)
	{
		if (Double.isNaN(val))
		{
			ret.add((byte)0x7F);
			ret.add((byte)0xFF);
			ret.add((byte)0xFF);
			ret.add((byte)0xFF);
			ret.add((byte)0xE0);
			ret.add((byte)0x00);
			ret.add((byte)0x00);
			ret.add((byte)0x00);
		}
		else
		{
			byte[] temp = new byte[8];
			ByteBuffer.wrap(temp).putDouble(val);
			for (byte b : temp)
				ret.add(b);
		}
	}