diff --git a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java b/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java
index e4d7b42425430f4276a23378cec6fa4404460ba5..f5f6594826cf89f6da81e17691259b380b265f28 100755
--- a/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java
+++ b/src/main/java/org/springframework/samples/petclinic/system/CacheConfiguration.java
@@ -1,12 +1,16 @@
 package org.springframework.samples.petclinic.system;
 
-import javax.cache.configuration.MutableConfiguration;
-
 import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer;
 import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
+import javax.cache.configuration.MutableConfiguration;
+
+/**
+ * Cache configuration intended for caches providing the JCache API. This configuration creates the used cache for the
+ * application and enables statistics that become accessible via JMX.
+ */
 @Configuration
 @EnableCaching
 class CacheConfiguration {
@@ -18,9 +22,14 @@ class CacheConfiguration {
         };
     }
 
+    /**
+     * Create a simple configuration that enable statistics via the JCache programmatic configuration API.
+     * <p>
+     * Within the configuration object that is provided by the JCache API standard, there is only a very limited set of
+     * configuration options. The really relevant configuration options (like the size limit) must be set via a
+     * configuration mechanism that is provided by the selected JCache implementation.
+     */
     private javax.cache.configuration.Configuration<Object, Object> cacheConfiguration() {
-        // Create a cache using infinite heap. A real application will want to use a more fine-grained configuration,
-        // possibly using an implementation-dependent API
         return new MutableConfiguration<>().setStatisticsEnabled(true);
     }