code: @Beta
    public Object parse(Type dataType, boolean close, CustomizeJsonParser customizeParser)
        throws IOException {
      try {
        if (!Void.class.equals(dataType)) {
          startParsing();
        }
        return parseValue(null, dataType, new ArrayList<Type>(), null, customizeParser, true);
      } finally {
        if (close) {
          close();
        }
      }
    }
docs: {@link Beta} <br>
  Parse a JSON object, array, or value into a new instance of the given destination class,
  optionally using the given parser customizer.
  
  <p>If it parses an object, after this method ends, the current token will be the object's
  ending {@link JsonToken#END_OBJECT}. If it parses an array, after this method ends, the current
  token will be the array's ending {@link JsonToken#END_ARRAY}.
  
  @param dataType Type into which the JSON should be parsed
  @param close {@code true} if {@link #close()} should be called after parsing
  @param customizeParser optional parser customizer or {@code null} for none
  @return new instance of the parsed dataType
  @since 1.10