private Type getFieldType(String fieldName, Map<String, Object> pathSpecMap, Class<?> root) {
		Type genericType = null;
		try {
			Object pathAndBinding = pathSpecMap.get(fieldName);
			Optional<Path<?>> path = getPathFromPathSpec(pathAndBinding);
			Field declaredField;
			if (path.isPresent()) {
				genericType = path.get().getType();
			}
			else {
				declaredField = root.getDeclaredField(fieldName);
				genericType = declaredField.getGenericType();
			}
		}
		catch (NoSuchFieldException e) {
			LOGGER.warn("Field {} not found on {} : {}", fieldName, root.getName(), e.getMessage());
		}
		return genericType;
	}
Tries to figure out the Type of the field. It first checks the Qdsl pathSpecMap before checking the root class. Defaults to String.class
@param fieldName The name of the field used as reference to get the type   
@param pathSpecMap The Qdsl path specifications as defined in the resolved bindings   
@param root The root type where the paths are gotten 
@return The type of the field. Returns
springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/QuerydslPredicateOperationCustomizer.java