/// <summary>
        /// Parse a vocabulary from a specified input stream.
        /// </summary>
        /// <param name="prop">The property name in Property class identifying the vocabulary to parse.</param>
        /// <param name="inputStream">The input stream of the vocabulary to parse.</param>
        /// <returns>Return a VocabularyParser containing the parsed vocabulary model.</returns>
        /// <exception cref="InitializationException">Throws when...</exception>
        private VocabularyParser ParseVocabularyFromStream(String prop, Stream inputStream)
        {
            VocabularyParser vocabularyParser;
            try
            {
                vocabularyParser = new VocabularyParser(inputStream);
            }
            catch (ArgumentNullException ex)
            {
                throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new InvalidOperationException("Can not instantiate VocabularyParser(Stream stream)"));

            }

            try
            {
                vocabularyParser.Parse();

            }
            catch (Exception ex) {
                throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new Exception("Can not parse document in property: " + prop));

            }

            inputStream.Close();
            return vocabularyParser;
        }
        /// <summary>
        /// Parse a vocabulary from a specified path.
        /// </summary>
        /// <param name="prop">The property name in Property class identifying the vocabulary to parse.</param>
        /// <param name="path">The path of the vocabulary to parse.</param>
        /// <returns>Return a VocabularyParser containing the parsed vocabulary model.</returns>
        /// <exception cref="InitializationException">Throws when...</exception>
        private VocabularyParser ParseVocabularyFromPath(String prop, String path)
        {
            VocabularyParser vocabularyParser;
            FileStream stream = null;

            try
            {
                stream = new FileStream(path, FileMode.Open, FileAccess.Read);

            }
            catch (IOException ex) {
                throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new ArgumentException("Can not open " + prop + " : " + path));
            }

            try
            {
                vocabularyParser = new VocabularyParser(stream);

            }
            catch (ArgumentNullException ex) {
                throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new InvalidOperationException("Can not instantiate VocabularyParser(Stream stream)"));

            }

            try
            {
                vocabularyParser.Parse();

            }
            catch (Exception ex) {
                throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new Exception("Can not parse document: " + path));
            }

            stream.Close();
            return vocabularyParser;
        }