@SuppressWarnings("unchecked")
	private static final Object[] decodeList(byte[] bencoded_bytes, int offset) throws BencodingException
    {
        ArrayList list = new ArrayList();
        offset++;
        Object[] vals;
        while(bencoded_bytes[offset] != (byte)'e')
        {
            vals = decode(bencoded_bytes,offset);
            offset = ((Integer)vals[0]).intValue();
            list.add(vals[1]);
        }
        offset++;
        return new Object[] {new Integer(offset), list};
    }