/**
     * Reloads the identifiers with the given chapter data.
     *
     * @param chapter
     *            Chapter data which will provide the identifiers
     */
    public void loadIdentifiers(Chapter chapter)
    {
        // Clear the lists
        globalIdentifiers.Clear();
        generalSceneIdentifiers.Clear();
        sceneIdentifiers.Clear();
        cutsceneIdentifiers.Clear();
        bookIdentifiers.Clear();
        itemIdentifiers.Clear();
        atrezzoIdentifiers.Clear();
        npcIdentifiers.Clear();
        conversationIdentifiers.Clear();
        globalStateIdentifiers.Clear();
        macroIdentifiers.Clear();
        activeAreaIdentifiers.Clear();
        assessmentIdentifiers.Clear();
        adaptationIdentifiers.Clear();

        // Add scene IDs
        foreach (Scene scene in chapter.getScenes())
        {
            addSceneId(scene.getId());
            foreach (ActiveArea activeArea in scene.getActiveAreas())
            {
                if (activeArea.getId() != null && !activeArea.getId().Equals(""))
                    addActiveAreaId(activeArea.getId());
            }
        }

        // Add cutscene IDs
        foreach (Cutscene cutscene in chapter.getCutscenes())
            addCutsceneId(cutscene.getId());

        // Add book IDs
        foreach (Book book in chapter.getBooks())
            addBookId(book.getId());

        // Add item IDs
        foreach (Item item in chapter.getItems())
            addItemId(item.getId());

        // Add atrezzo items IDs
        foreach (Atrezzo atrezzo in chapter.getAtrezzo())
            addAtrezzoId(atrezzo.getId());

        // Add NPC IDs
        foreach (NPC npc in chapter.getCharacters())
            addNPCId(npc.getId());

        // Add conversation IDs
        foreach (Conversation conversation in chapter.getConversations())
            addConversationId(conversation.getId());

        // Add global state IDs
        foreach (GlobalState globalState in chapter.getGlobalStates())
            addGlobalStateId(globalState.getId());

        // Add macro IDs
        foreach (Macro macro in chapter.getMacros())
            addMacroId(macro.getId());

        // Add assessment rules ids and asssessmnet profiles ids
        foreach (AssessmentProfile profile in chapter.getAssessmentProfiles())
        {
            string name = profile.getName();
            addAssessmentProfileId(name);
            foreach (AssessmentRule rule in profile.getRules())
                this.addAssessmentRuleId(rule.getId(), name);
        }

        // Add adaptation rules ids and asssessmnet profiles ids
        foreach (AdaptationProfile profile in chapter.getAdaptationProfiles())
        {
            string name = profile.getName();
            addAdaptationProfileId(name);
            foreach (AdaptationRule rule in profile.getRules())
                this.addAdaptationRuleId(rule.getId(), name);
        }
    }