public static MethodParameter[] customize(String[] pNames, MethodParameter[] parameters,
			Optional<List<DelegatingMethodParameterCustomizer>> optionalDelegatingMethodParameterCustomizers, boolean defaultFlatParamObject) {
		List<MethodParameter> explodedParameters = new ArrayList<>();
		for (int i = 0; i < parameters.length; ++i) {
			MethodParameter p = parameters[i];
			Class<?> paramClass = AdditionalModelsConverter.getParameterObjectReplacement(p.getParameterType());

			boolean hasFlatAnnotation = p.hasParameterAnnotation(ParameterObject.class) || AnnotatedElementUtils.isAnnotated(paramClass, ParameterObject.class);
			boolean hasNotFlatAnnotation = Arrays.stream(p.getParameterAnnotations())
					.anyMatch(annotation -> Arrays.asList(RequestBody.class, RequestPart.class).contains(annotation.annotationType()));
			if (!MethodParameterPojoExtractor.isSimpleType(paramClass)
					&& (hasFlatAnnotation || (defaultFlatParamObject && !hasNotFlatAnnotation && !AbstractRequestService.isRequestTypeToIgnore(paramClass)))) {
				List<MethodParameter> flatParams = new CopyOnWriteArrayList<>();
				MethodParameterPojoExtractor.extractFrom(paramClass).forEach(flatParams::add);
				optionalDelegatingMethodParameterCustomizers.orElseGet(ArrayList::new).forEach(cz -> cz.customizeList(p, flatParams));
				explodedParameters.addAll(flatParams);
			}
			else {
				String name = pNames != null ? pNames[i] : p.getParameterName();
				explodedParameters.add(new DelegatingMethodParameter(p, name, null, null, false, null, false));
			}
		}
		return explodedParameters.toArray(new MethodParameter[0]);
	}
Customize method parameter [ ].

@param pNames                                       the p names
@param parameters                                   the parameters
@param optionalDelegatingMethodParameterCustomizers the optional list delegating method parameter customizer
@param defaultFlatParamObject                       the default flat param object
@return the method parameter [ ]
springdoc-openapi-starter-common/src/main/java/org/springdoc/core/extractor/DelegatingMethodParameter.java