diff --git a/spring-core/src/main/java/org/springframework/lang/Contract.java b/spring-core/src/main/java/org/springframework/lang/Contract.java
index 6a079575bc44..a59754324aa2 100644
--- a/spring-core/src/main/java/org/springframework/lang/Contract.java
+++ b/spring-core/src/main/java/org/springframework/lang/Contract.java
@@ -51,7 +51,8 @@
*
The additional return values denote the following:
*
* - {@code fail} - the method throws an exception, if the arguments satisfy argument constraints
- *
- {@code new} - the method returns a non-null new object which is distinct from any other object existing in the heap prior to method execution. If method is also pure, then we can be sure that the new object is not stored to any field/array and will be lost if method return value is not used.
+ *
- {@code new} - the method returns a non-null new object which is distinct from any other object existing in the heap prior to method execution.
+ * If the method has no visible side effects, then we can be sure that the new object is not stored to any field/array and will be lost if the method's return value is not used.
*
- {@code this} - the method returns its qualifier value (not applicable for static methods)
*
- {@code param1, param2, ...} - the method returns its first (second, ...) parameter value
*