public final void uniform(final IOHandler io, final NameScheme scheme) {
		final List<Integer> idcs = new ArrayList<>(this.instruments.keySet());
		java.util.Collections.sort(idcs);
		if (this.idxMap == null) {
			this.idxMap = new HashMap<>();
			this.numMap = new HashMap<>();
		}
		if (this.indices.isEmpty()) {
			for (int i = 1; i <= idcs.size(); i++) {
				final Integer key = idcs.get(i - 1);
				this.idxMap.put(key, i);
				this.numMap.put(key, Integer.valueOf(i).toString());
			}
		} else {
			for (int i = 1; i <= idcs.size(); i++) {
				this.idxMap.put(idcs.get(i - 1), i);
				final String idx = this.indices.get(i);
				if (idx == null) {
					this.numMap.put(i, Integer.valueOf(i).toString());
				} else {
					this.numMap.put(i, idx);
				}
			}
		}
		this.total.clear();
		this.total.add(idcs.size());
		final Path tmp = writeChunks(io, scheme);
		final String rel = this.file.relativize(getBase());
		final Path base = SongChangeData.basePath.getParent().resolve(
				SongChangeData.basePath.getFilename() + "_rewritten");
		tmp.renameTo(base.resolve(rel.split("/")));
	}