code: public Map<String, Object> toMap() {
          Map<String, Object> copy = new HashMap<String, Object>(content.size());
          for (Map.Entry<String, Object> entry : content.entrySet()) {
              Object content = entry.getValue();
              if (content instanceof JsonObject) {
                  copy.put(entry.getKey(), ((JsonObject) content).toMap());
              } else if (content instanceof JsonArray) {
                  copy.put(entry.getKey(), ((JsonArray) content).toList());
              } else {
                  copy.put(entry.getKey(), content);
              }
          }
          return copy;
      }
docs: Transforms the {@link JsonObject} into a {@link Map}. The resulting
  map is not backed by this {@link JsonObject}, and all sub-objects or
  sub-arrays ({@link JsonArray}) are also recursively converted to
  maps and lists, respectively.
  
  @return the content copied as a {@link Map}.