code: public Object extractObject(ObjectToJsonConverter pConverter, Object pValue, Stack<String> pPathParts,boolean jsonify) throws AttributeNotFoundException {
          int length = pConverter.getCollectionLength(Array.getLength(pValue));
          String pathPart = pPathParts.isEmpty() ? null : pPathParts.pop();
          if (pathPart != null) {
              return extractWithPath(pConverter, pValue, pPathParts, jsonify, pathPart);
          } else {
              return jsonify ? extractArray(pConverter, pValue, pPathParts, jsonify, length) : pValue;
          }
      }
docs: Extract an array and, if to be jsonified, put it into an {@link JSONArray}. An index can be used (on top of
  the extra args stack) in order to specify a single value within the array.
  
  @param pConverter the global converter in order to be able do dispatch for
  serializing inner data types
  @param pValue the value to convert (must be an aary)
  @param pPathParts extra arguments stack, which is popped to get an index for extracting a single element
  of the array
  @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
  @throws IndexOutOfBoundsException if an index is used which points outside the given list