### Question:
NestedMetadata { static void putGeoAttributes(Map<String, String> attributes, ObjectNode metadata) { putAttributes(attributes, metadata, GEO, GEO_PREFIX); } private  NestedMetadata(); static byte[] mergedPayload(byte[] payload, byte[] metadata); static ObjectNode attributesToMetadataPayload(Map<String, String> attributes); static void stripPayloadMetadataToAttributes(Map<String, String> attributes,
      ObjectNode payload);  }### Answer:
@Test public void testPutGeoAttributes() throws Exception { ObjectNode metadata = Json.createObjectNode().set("geo", Json.createObjectNode() .put("country", "CA").put("city", "Whistler").putNull("subdivision1")); Map<String, String> attributes = new HashMap<>(); NestedMetadata.putGeoAttributes(attributes, metadata); Map<String, String> expected = ImmutableMap.of("geo_country", "CA", "geo_city", "Whistler"); assertEquals(expected, attributes); }