public Escaper(String[][] mappings, int normalSetIndex) {
		this.nonOverlapMappings = new Mapping[mappings.length];
		this.specialBackMappings = new Mapping[normalSetIndex];
		this.normalBackMappings = new Mapping[mappings.length - normalSetIndex];

		for (int i = 0; i < mappings.length; ++i) {
			char[] mappings0 = mappings[i][0].toCharArray();
			char[] mappings1 = mappings[i][1].toCharArray();

			if (i < normalSetIndex) {
				this.specialBackMappings[i] = new Mapping(mappings1, mappings0);
			} else {
				this.normalBackMappings[i - normalSetIndex] = new Mapping(
						mappings1, mappings0);
			}
			this.nonOverlapMappings[i] = new Mapping(mappings0, mappings1);
		}
	}