code: public JsonWriter property(String key, Map<String, ?> map) throws IOException {
        Preconditions.checkArgument(!inArray(), "Cannot write a property inside an array.");
        writeName(key);
        value(map);
        return this;
     }
docs: Writes a map with the given key name
  
  @param key the key name for the map
  @param map the map to be written
  @return This structured writer
  @throws IOException Something went wrong writing