diff --git a/src/main/java/org/apache/sling/caconfig/it/example/SimpleConfig.java b/src/main/java/org/apache/sling/caconfig/it/example/SimpleConfig.java
index 3cea6a7..b388a90 100644
--- a/src/main/java/org/apache/sling/caconfig/it/example/SimpleConfig.java
+++ b/src/main/java/org/apache/sling/caconfig/it/example/SimpleConfig.java
@@ -24,11 +24,11 @@
 public @interface SimpleConfig {
 
     String stringParam();
-    
+
     String stringParamDefault() default "defValue";
-    
+
     int intParam();
-    
+
     boolean boolParam();
-    
+
 }
diff --git a/src/test/java/org/apache/sling/caconfig/it/ConfigurationMetadataProviderIT.java b/src/test/java/org/apache/sling/caconfig/it/ConfigurationMetadataProviderIT.java
index eccdac0..294cda4 100644
--- a/src/test/java/org/apache/sling/caconfig/it/ConfigurationMetadataProviderIT.java
+++ b/src/test/java/org/apache/sling/caconfig/it/ConfigurationMetadataProviderIT.java
@@ -27,17 +27,17 @@
 import org.junit.Test;
 
 public class ConfigurationMetadataProviderIT {
-    
+
     @Rule
     public TeleporterRule teleporter = TeleporterRule.forClass(getClass(), "IT");
-    
+
     @Test
     public void testConfigurationMetadata() {
         ConfigurationMetadataProvider underTest = teleporter.getService(ConfigurationMetadataProvider.class);
-        
+
         ConfigurationMetadata configMetadata = underTest.getConfigurationMetadata(SimpleConfig.class.getName());
         assertNotNull(configMetadata);
         assertEquals(SimpleConfig.class.getName(), configMetadata.getName());
     }
-    
+
 }
diff --git a/src/test/java/org/apache/sling/caconfig/it/TestUtils.java b/src/test/java/org/apache/sling/caconfig/it/TestUtils.java
index 484b349..6b54c9f 100644
--- a/src/test/java/org/apache/sling/caconfig/it/TestUtils.java
+++ b/src/test/java/org/apache/sling/caconfig/it/TestUtils.java
@@ -25,23 +25,23 @@
 import org.slf4j.LoggerFactory;
 
 final class TestUtils {
-    
+
     /**
      * Root path for test content
      */
     public static final String CONTENT_ROOT_PATH = "/content/test";
-    
+
     /**
      * Root path for config content
      */
     public static final String CONFIG_ROOT_PATH = "/conf/test";
-    
+
     private static final Logger log = LoggerFactory.getLogger(TestUtils.class);
-    
+
     private TestUtils() {
         // static methods only
     }
-    
+
     public static void cleanUp(ResourceResolver resourceResolver) {
         deletePath(resourceResolver, CONTENT_ROOT_PATH);
         deletePath(resourceResolver, CONFIG_ROOT_PATH);
