Why don't you use immutable map builder from guava?