*  @return the duplicates of that file
     *  @throws IOException if a network error occurs
     *  @since 0.18
     */
    public String[] getDuplicates(String file) throws IOException
    {
        file = file.replaceFirst("^(File|Image|" + namespaceIdentifier(FILE_NAMESPACE) + "):", "");
        String url = query + "prop=duplicatefiles&dflimit=max&titles=File:" + URLEncoder.encode(file, "UTF-8");
        String line = fetch(url, "getDuplicates");

        // xml form: <df name="Star-spangled_banner_002.ogg" other stuff >
        ArrayList<String> duplicates = new ArrayList<String>(10);
        for (int a = line.indexOf("<df "); a > 0; a = line.indexOf("<df ", ++a))
            duplicates.add("File:" + decode(parseAttribute(line, "name", a)));

        int size = duplicates.size();
        log(Level.INFO, "Successfully retrieved duplicates of File:" + file + " (" + size + " files)", "getDuplicates");
        return duplicates.toArray(new String[size]);
    }