void extractPages(Page page) {
        if (cancelled) return;

        // Unterseiten hinzufügen (sofern welche vorhanden sein könnten)
        if (page.containsPages()) {
            for (PageExtractor pe : Extractors.getInstance().getPageExtractors()) {
                if (!pe.isSelected() || !pe.isApplicable(page)) continue;
                page.addSubPages(pe.extractPages(page));
            }
        }

        // Namen von dieser Seite extrahieren (sofern welche vorhanden sein könnten)
        if (page.containsNames()) {
            page.addNames(extractNames(page));
        }

        page.releaseContent();

        // Rekursiv alle Unterseiten bearbeiten
        for (PageInfo p : page.getSubPages()) {
            extractPages((Page)p);
        }
    }