*  @return the image history of the image
     *  @throws IOException if a network error occurs
     *  @since 0.20
     */
    public Wiki.LogEntry[] getImageHistory(String title) throws IOException
    {
        title = title.replaceFirst("^(File|Image|" + namespaceIdentifier(FILE_NAMESPACE) + "):", "");
        String url = query + "prop=imageinfo&iiprop=timestamp%7Cuser%7Ccomment&iilimit=max&titles=File:" 
                + URLEncoder.encode(normalize(title), "UTF-8");
        String line = fetch(url, "getImageHistory");
        ArrayList<Wiki.LogEntry> history = new ArrayList<Wiki.LogEntry>(40);
        String prefixtitle = namespaceIdentifier(FILE_NAMESPACE) + ":" + title;
        // xml form: <ii timestamp="2010-05-23T05:48:43Z" user="Prodego" comment="Match to new version" />
        for (int a = line.indexOf("<ii "); a > 0; a = line.indexOf("<ii ", ++a))
        {
            int b = line.indexOf('>', a);
            Wiki.LogEntry le = parseLogEntry(line.substring(a, b));
            le.target = prefixtitle;
            le.type = UPLOAD_LOG;
            le.action = "overwrite";
            history.add(le);
        }

        // crude hack: action adjusting for first image (in the history, not our list)
        int size = history.size();
        Wiki.LogEntry last = history.get(size - 1);
        last.action = "upload";
        history.set(size - 1, last);
        return history.toArray(new Wiki.LogEntry[size]);
    }