public Set<String> getFieldNames() {
        return Collections.unmodifiableSet(fields.keySet());
    }
@Test(expected = UnsupportedOperationException.class)
    public void testGetFieldNamesReturnsUnmodifiableSet() throws Exception {
        final Set<String> fieldNames = message.getFieldNames();

        fieldNames.remove("_id");
    }