diff --git a/src/main/java/com/semanticcms/section/servlet/impl/SectionImpl.java b/src/main/java/com/semanticcms/section/servlet/impl/SectionImpl.java
index <HASH>..<HASH> 100644
--- a/src/main/java/com/semanticcms/section/servlet/impl/SectionImpl.java
+++ b/src/main/java/com/semanticcms/section/servlet/impl/SectionImpl.java
@@ -1,6 +1,6 @@
 /*
  * semanticcms-section-servlet - Sections nested within SemanticCMS pages and elements in a Servlet environment.
- * Copyright (C) 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021  AO Industries, Inc.
+ * Copyright (C) 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2022  AO Industries, Inc.
  *     support@aoindustries.com
  *     7262 Bull Pen Cir
  *     Mobile, AL 36695
@@ -47,7 +47,7 @@ import javax.servlet.ServletRequest;
 import javax.servlet.jsp.SkipPageException;
 
 // TODO: Implement with https://www.w3.org/TR/wai-aria-1.1/#aria-label
-public abstract class SectionImpl {
+public final class SectionImpl {
 
 	/** Make no instances. */
 	private SectionImpl() {throw new AssertionError();}
Using final instead of abstract for static utility classes

NetBeans <I> is warning "Constructor is never used" when abstract, and
this cannot be suppressed with `@SuppressWarnings("unused")`.