public byte[] encodeInvoke(int id, Object data) throws EncodingException, NotImplementedException
	{
		List<Byte> result = new ArrayList<Byte>();

		result.add((byte)0x00); // version
		result.add((byte)0x05); // type?
		writeIntAMF0(result, id); // invoke ID
		result.add((byte)0x05); // ???

		result.add((byte)0x11); // AMF3 object
		encode(result, data);

		byte[] ret = new byte[result.size()];
		for (int i = 0; i < ret.length; i++)
			ret[i] = result.get(i);

		ret = addHeaders(ret);

		return ret;
	}