diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/SftpProviderClosedExecChannelTestCase.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/SftpProviderClosedExecChannelTestCase.java
index b45ca60..a0da54b 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/SftpProviderClosedExecChannelTestCase.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/SftpProviderClosedExecChannelTestCase.java
@@ -35,18 +35,18 @@
      * Creates the test suite for the sftp file system.
      */
     public static Test suite() throws Exception {
-        final SftpProviderTestSuite suite = new SftpProviderTestSuite(new SftpProviderClosedExecChannelTestCase()){
-        @Override
-        protected void addBaseTests() throws Exception {
-            addTests(ProviderReadTests.class);
-            addTests(ProviderWriteTests.class);
-            addTests(ProviderDeleteTests.class);
-            addTests(ProviderRenameTests.class);
-            addTests(NamingTests.class);
-            // VFS-405: set/get permissions
-            addTests(PermissionsTests.class);
-        }
-    };
+        final SftpProviderTestSuite suite = new SftpProviderTestSuite(new SftpProviderClosedExecChannelTestCase()) {
+            @Override
+            protected void addBaseTests() throws Exception {
+                addTests(ProviderReadTests.class);
+                addTests(ProviderWriteTests.class);
+                addTests(ProviderDeleteTests.class);
+                addTests(ProviderRenameTests.class);
+                addTests(NamingTests.class);
+                // VFS-405: set/get permissions
+                addTests(PermissionsTests.class);
+            }
+        };
         return suite;
     }
 }
