public static String getModelLocalUriIdString(ModelLocalUriId localUriId) throws JsonProcessingException {
        return objectMapper.writeValueAsString(localUriId);
    }
@Test
    void getModelLocalUriIdString() throws JsonProcessingException {
        String model = "foo";
        String basePath = "this/is/modelLocalUriId";
        LocalUri modelLocalUriId = new ReflectiveAppRoot("test")
                .get(ComponentFoo.class)
                .get("this", "is", "modelLocalUriId")
                .asLocalUri();
        ModelLocalUriId localUriId = new ModelLocalUriId(modelLocalUriId);
        String retrieved = JSONUtils.getModelLocalUriIdString(localUriId);
        String expected = String.format("{\"model\":\"%1$s\",\"basePath\":\"/%2$s\",\"fullPath\":\"/%1$s/%2$s\"}", model, basePath);
        assertThat(retrieved).isEqualTo(expected);
    }