diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java
index c483981..44a3c99 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/DefaultFileContentTest.java
@@ -84,7 +84,7 @@
 
     @Test
     public void testInputStreamClosedInADifferentThread() throws Exception {
-        testStreamClosedInADifferentThread(content -> content.getInputStream());
+        testStreamClosedInADifferentThread(FileContent::getInputStream);
     }
 
     @Test
@@ -177,7 +177,7 @@
 
     @Test
     public void testOutputStreamClosedInADifferentThread() throws Exception {
-        testStreamClosedInADifferentThread(content -> content.getOutputStream());
+        testStreamClosedInADifferentThread(FileContent::getOutputStream);
     }
 
     private <T extends Closeable> void testStreamClosedInADifferentThread(final FailableFunction<FileContent, T, IOException> getStream) throws Exception {
@@ -190,7 +190,7 @@
             final Thread thread = new Thread(() -> {
                 try {
                     stream.close();
-                } catch (IOException exception) {
+                } catch (final IOException exception) {
                     // ignore
                 }
                 check.set(true);
