private Object[] readArray() throws EncodingException, NotImplementedException
	{
		int handle = readInt();
		boolean inline = ((handle & 1) != 0);
		handle = handle >> 1;

		if (inline)
		{
			String key = readString();
			if (key != null && !key.equals(""))
				throw new NotImplementedException("Associative arrays are not supported");

			Object[] ret = new Object[handle];
			objectReferences.add(ret);

			for (int i = 0; i < handle; i++)
				ret[i] = decode();

			return ret;
		}
		else
		{
			return (Object[])objectReferences.get(handle);
		}
	}