diff --git a/spring-context/src/main/java/org/springframework/context/annotation/Configuration.java b/spring-context/src/main/java/org/springframework/context/annotation/Configuration.java
index 9cb02b7dd74..5e96e5fa1ab 100644
--- a/spring-context/src/main/java/org/springframework/context/annotation/Configuration.java
+++ b/spring-context/src/main/java/org/springframework/context/annotation/Configuration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2016 the original author or authors.
+ * Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -357,9 +357,14 @@ import org.springframework.stereotype.Component;
*
Constraints when authoring {@code @Configuration} classes
*
*
- * - @Configuration classes must be non-final
- *
- @Configuration classes must be non-local (may not be declared within a method)
- *
- Any nested configuration classes must be {@code static}.
+ *
- Configuration classes must be provided as classes (i.e. not as instances returned
+ * from factory methods), allowing for runtime enhancements through a generated subclass.
+ *
- Configuration classes must be non-final.
+ *
- Configuration classes must be non-local (i.e. may not be declared within a method).
+ *
- Any nested configuration classes must be declared as {@code static}.
+ *
- {@code @Bean} methods may not in turn create further configuration classes
+ * (any such instances will be treated as regular beans, with their configuration
+ * annotations remaining undetected).
*
*
* @author Rod Johnson