code: @SuppressWarnings("unchecked") // bla bla, we know what we are doing here...
      @JsonProperty("definitions")
      private void deserializeDefinitionsField(Map<String, Object> defs) {
          definitionsBean = new JsonGouldiDefinitionsBean();
          LinkedList<JsonGouldiIdentifierDefinienBean> list = new LinkedList<>();
          definitionsBean.setIdentifierDefiniens(list);
  
          for (String key : defs.keySet()) {
              JsonGouldiIdentifierDefinienBean bean = new JsonGouldiIdentifierDefinienBean();
              ArrayList<JsonGouldiWikidataDefinienBean> arrList = new ArrayList<>();
              bean.setName(key);
  
              ArrayList<Object> identifierList = (ArrayList<Object>) defs.get(key);
              for (Object obj : identifierList) {
                  if (obj instanceof String) {
                      JsonGouldiTextDefinienBean textBean = new JsonGouldiTextDefinienBean();
                      textBean.setDiscription((String) obj);
                      arrList.add(textBean);
                  } else {
                      Map<String, String> qidMappings = (Map<String, String>) obj;
                      for (String qID : qidMappings.keySet()) {
                          JsonGouldiWikidataDefinienBean wikidefbean = new JsonGouldiWikidataDefinienBean();
                          wikidefbean.setWikiID(qID);
                          wikidefbean.setDiscription(qidMappings.get(qID));
                          arrList.add(wikidefbean);
                      }
                  }
              }
  
              JsonGouldiWikidataDefinienBean[] arr = new JsonGouldiWikidataDefinienBean[arrList.size()];
              arr = arrList.toArray(arr);
              bean.setDefiniens(arr);
              list.add(bean);
          }
      }
docs: Provide a custom deserialization for definitions
  
  @param defs the generic object for definitions field in gouldi