code: public Object extractObject(ObjectToJsonConverter pConverter, Object pValue,
                                  Stack<String> pPathParts,boolean jsonify) throws AttributeNotFoundException {
          Map<Object,Object> map = (Map<Object,Object>) pValue;
          int length = pConverter.getCollectionLength(map.size());
          String pathParth = pPathParts.isEmpty() ? null : pPathParts.pop();
          if (pathParth != null) {
              return extractMapValueWithPath(pConverter, pValue, pPathParts, jsonify, map, pathParth);
          } else {
              return jsonify ? extractMapValues(pConverter, pPathParts, jsonify, map, length) : map;
          }
      }
docs: Convert a Map to JSON (if <code>jsonify</code> is <code>true</code>). If a path is used, the
  path is interpreted as a key into the map. The key in the path is a string and is compared agains
  all keys in the map against their string representation.
  
  @param pConverter the global converter in order to be able do dispatch for
  serializing inner data types
  @param pValue the value to convert which must be a {@link Map}
  @param pPathParts extra argument stack which on top must be a key into the map
  @param jsonify whether to convert to a JSON object/list or whether the plain object
  should be returned. The later is required for writing an inner value
  @return the extracted object
  @throws AttributeNotFoundException