package jkind.api.results;

import java.util.Map;

/**
 * A renaming backed by a map from strings to strings
 */
public class MapRenaming extends Renaming {
	private Map<String, String> map;
	
	public MapRenaming(Map<String, String> map) {
		this.map = map;
	}
	
	@Override
	public String rename(String original) {
		return map.get(original);
	}
}

@@ -159,16 +159,22 @@
 private 
+final 
 Map%3CStri
@@ -191,16 +191,89 @@
 %3E map;%0A%09
+private final Mode mode;%0A%0A%09public static enum Mode %7B%0A%09%09NULL, IDENTITY%0A%09%7D%0A
 %0A%09public
@@ -308,16 +308,27 @@
 ing%3E map
+, Mode mode
 ) %7B%0A%09%09th
@@ -345,12 +345,31 @@
 ap;%0A
+%09%09this.mode = mode;%0A
 %09%7D%0A
-%09
 %0A%09@O
@@ -423,14 +423,24 @@
 %7B%0A%09%09
-return
+String renamed =
  map
@@ -455,13 +455,117 @@
 ginal);%0A
+%09%09if (renamed == null && mode == Mode.IDENTITY) %7B%0A%09%09%09return original;%0A%09%09%7D else %7B%0A%09%09%09return renamed;%0A%09%09%7D%0A
 %09%7D%0A%7D%0A

Add two options for map renamings