private HashMap<AbstractComponent, Integer> getWordMap(
			AbstractComponent component, HashMap<AbstractComponent, Integer> map)
			throws BookException {
		if (component.getType() == EComponentType.WORD) {
			Integer count = map.get(component);
			map.put(component, count == null ? 1 : ++count);
		} else if (component.getType() == EComponentType.CHARACTER) {

		} else {

			try {
				Iterator<AbstractComponent> iterator = component.getIterator();
				while (iterator.hasNext()) {
					map.putAll(getWordMap(iterator.next(), map));
				}
			} catch (ComponentException e) {
				throw new BookException(e);
			}
		}
		return map;
	}