public static Map<String, Object> replaceKeyCharacter(Map<String, Object> map, char oldChar, char newChar) {
        final Map<String, Object> result = new HashMap<>(map.size());
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            final String key = entry.getKey().replace(oldChar, newChar);
            final Object value = entry.getValue();
            result.put(key, value);
        }
        return result;
    }
@Test
    public void renameKeyReturnsMutatedMap() {
        final Map<String, Object> map = ImmutableMap.of(
                "foo.bar", "test",
                "baz@quux", "test");
        assertThat(MapUtils.replaceKeyCharacter(map, '.', '_'))
                .hasSameSizeAs(map)
                .containsEntry("foo_bar", "test")
                .containsEntry("baz@quux", "test");
    }