code: private void parseMap(
        Field fieldContext,
        Map<String, Object> destinationMap,
        Type valueType,
        ArrayList<Type> context,
        CustomizeJsonParser customizeParser)
        throws IOException {
      JsonToken curToken = startParsingObjectOrArray();
      while (curToken == JsonToken.FIELD_NAME) {
        String key = getText();
        nextToken();
        // stop at items for feeds
        if (customizeParser != null && customizeParser.stopAt(destinationMap, key)) {
          return;
        }
        Object value =
            parseValue(fieldContext, valueType, context, destinationMap, customizeParser, true);
        destinationMap.put(key, value);
        curToken = nextToken();
      }
    }
docs: Parse a JSON Object from the given JSON parser into the given destination map, optionally using
  the given parser customizer.
  
  @param fieldContext field context or {@code null} for none
  @param destinationMap destination map
  @param valueType valueType of the map value type parameter
  @param context destination context stack (possibly empty)
  @param customizeParser optional parser customizer or {@code null} for none