code: @Override
      public Object convertToObject(ArrayType type, Object pFrom) {
          JSONAware value = toJSON(pFrom);
          // prepare each value in the array and then process the array of values
          if (!(value instanceof JSONArray)) {
              throw new IllegalArgumentException(
                      "Can not convert " + value + " to type " +
                      type + " because JSON object type " + value.getClass() + " is not a JSONArray");
  
          }
  
          JSONArray jsonArray = (JSONArray) value;
          OpenType elementOpenType = type.getElementOpenType();
          Object[] valueArray = createTargetArray(elementOpenType, jsonArray.size());
  
          int i = 0;
          for (Object element : jsonArray) {
              valueArray[i++] = getDispatcher().convertToObject(elementOpenType, element);
          }
  
          return valueArray;
      }
docs: {@inheritDoc}