records are implicitly final
diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/ast/body/RecordDeclarationTest.java b/javaparser-core-testing/src/test/java/com/github/javaparser/ast/body/RecordDeclarationTest.java
index 34a2269..a8393e8 100644
--- a/javaparser-core-testing/src/test/java/com/github/javaparser/ast/body/RecordDeclarationTest.java
+++ b/javaparser-core-testing/src/test/java/com/github/javaparser/ast/body/RecordDeclarationTest.java
@@ -235,6 +235,19 @@
         assertOneRecordDeclaration(cu);
     }
 
+    /**
+     * https://openjdk.java.net/jeps/395#Restrictions-on-records
+     */
+    @Test
+    void record_isImplicitlyFinal() {
+        String s = "record Point(int x, int y) { static int z; }";
+        CompilationUnit cu = parseCompilationUnit(s);
+        assertOneRecordDeclaration(cu);
+
+        RecordDeclaration record = cu.findFirst(RecordDeclaration.class).get();
+        assertTrue(record.isFinal(), "Records are implicitly final.");
+    }
+
 
     @Test
     void record_mustNotAllowMismatchedComponentAccessorReturnType() {
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/RecordDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/RecordDeclaration.java
index 78600a3..0c88ea5 100644
--- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/RecordDeclaration.java
+++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/RecordDeclaration.java
@@ -296,4 +296,15 @@
     public RecordDeclaration removeReceiverParameter() {
         return setReceiverParameter((ReceiverParameter) null);
     }
+
+
+    /**
+     * https://openjdk.java.net/jeps/395#Restrictions-on-records
+     *
+     * @return always true -- Records are implicitly final, therefore can never not be final.
+     */
+    @Override
+    public boolean isFinal() {
+        return true;
+    }
 }