protected void initializeDictionaries() throws MojoFailureException {
        // Read the dictionary files
        try {
            // Load the default dictionary
            dictionary.addDictionary(getClass().getResourceAsStream("/eap6.dict"));
            for (File f : dictionaryFiles)
                dictionary.addDictionary(f);
        } catch (Exception e) {
            throw new MojoFailureException("Cannot load dictionaries", e);
        }

        // Get the artifacts
        Set<Artifact> artifacts = project.getArtifacts();
        for (Artifact x : artifacts)
            getLog().debug("Artifact:" + x);

        // Find artifacts that are not provided, but in the dictionary,
        // and warn
        Set<Artifact> artifactsNotProvided = new TreeSet<Artifact>();
        // Find artifacts that should be in deployment structure, that is,
        // all artifacts that have a non-null mapping, and provided
        artifactsAsModules = new HashMap<Artifact, String>();

        reverseMap = new HashMap<String, Artifact>();
        for (Artifact a : artifacts) {
            DictItem item = dictionary.find(a.getGroupId(), a.getArtifactId(), a.getVersion());
            if (item != null && item.moduleName != null) {
                reverseMap.put(item.moduleName, a);

                if (!a.getScope().equals(Artifact.SCOPE_PROVIDED)) {
                    artifactsNotProvided.add(a);
                } else {
                    artifactsAsModules.put(a, item.moduleName);
                }
            }
        }

        for (Artifact a : artifactsNotProvided) {
            getLog().warn(
                    "EAP6: Artifact " + a + " is not provided, but can be included as an EAP6 module "
                            + dictionary.find(a.getGroupId(), a.getArtifactId(), a.getVersion()));
        }
    }