private void fillOptionList(Map<String, Object[]> optionMap) {

		optionsList = new ConcurrentHashMap<>();

		for (String key : optionMap.keySet()) {
			Object[] value = optionMap.get(key);

			if (value[0].equals(false)) {
				continue;
			}

			switch (key = key.replace("force", "")) {
			case "onetop":
				optionsList.put(key, new OneTopOption());
				break;
			case "endwith":
				optionsList.put(
						key,
						new EndWithOption(Arrays.copyOf(value, value.length,
								String[].class)));
				break;
			case "existe":
				optionsList.put(
						key,
						new ExisteOption(Arrays.copyOf(value, value.length,
								String[].class)));
				break;
			case "interdit":
				optionsList.put(
						key,
						new InterditOption(Arrays.copyOf(value, value.length,
								String[].class)));
				break;
			case "beginswith":
				optionsList.put(
						key,
						new StartWithOption(Arrays.copyOf(value, value.length,
								String[].class)));
				break;
			case "verbose":
				verbose = new Boolean(true);
				break;
			default:
				break;
			}
		}
	}