Incorrect Usage of ClassUtils.isAssignable: incorrect reversing the Parameters Causes the Method to Always Return true When an Object is Passed 

You can refer to issue #3355 and the pr #3479

The bug code is as follows:

String parameterName = method.getParameters()[i].getName();
            Type parameterType = method.getGenericParameterTypes()[i];
            if (parameterType instanceof Class<?> parameterClass
                    &&  **ClassUtils.isAssignable(parameterClass, ToolContext.class**) ) {
                // A ToolContext method parameter is not included in the JSON Schema
                // generation.
                // It's a special type used by Spring AI to pass contextual data to tools
                // outside the model interaction flow.
                continue;
            }

Code Location:org.springframework.ai.util.json.schema.JsonSchemaGenerator.generateForMethodInput(Method method, SchemaOption... schemaOptions)

Comment From: dev-jonghoonpark

related pr : https://github.com/spring-projects/spring-ai/pull/3733

Comment From: sunyuhan1998

Indeed, they appear to be the same type of problem