public Map<String, Object> getFields() {
        return ImmutableMap.copyOf(fields);
    }
@Test(expected = UnsupportedOperationException.class)
    public void testGetFieldsReturnsImmutableMap() throws Exception {
        final Map<String, Object> fields = message.getFields();

        fields.put("foo", "bar");
    }