Consider using ImmutableMap.copyOf(), otherwise this leaks the internal object out and a malicious user could change the internal state of the object