Make private classes final
diff --git a/src/main/java/org/apache/commons/configuration2/AbstractHierarchicalConfiguration.java b/src/main/java/org/apache/commons/configuration2/AbstractHierarchicalConfiguration.java
index 458a2db..12f0fcc 100644
--- a/src/main/java/org/apache/commons/configuration2/AbstractHierarchicalConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/AbstractHierarchicalConfiguration.java
@@ -675,7 +675,7 @@
      *
      * @param <T> the type of the nodes managed by this hierarchical configuration
      */
-    private static class DefinedVisitor<T> extends ConfigurationNodeVisitorAdapter<T> {
+    private static final class DefinedVisitor<T> extends ConfigurationNodeVisitorAdapter<T> {
 
         /** Stores the defined flag. */
         private boolean defined;
@@ -713,7 +713,7 @@
     /**
      * A specialized visitor that fills a list with keys that are defined in a node hierarchy.
      */
-    private class DefinedKeysVisitor extends ConfigurationNodeVisitorAdapter<T> {
+    private final class DefinedKeysVisitor extends ConfigurationNodeVisitorAdapter<T> {
 
         /** Stores the list to be filled. */
         private final Set<String> keyList;
diff --git a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
index a972228..5fde290 100644
--- a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
@@ -1431,7 +1431,7 @@
      * takes care that the format pattern can be defined as a property of the wrapped configuration or temporarily passed
      * when calling a conversion method.
      */
-    private class DataConversionHandler extends DefaultConversionHandler {
+    private final class DataConversionHandler extends DefaultConversionHandler {
         /**
          * {@inheritDoc} This implementation checks for a defined data format in the following order:
          * <ul>
diff --git a/src/main/java/org/apache/commons/configuration2/HierarchicalConfigurationXMLReader.java b/src/main/java/org/apache/commons/configuration2/HierarchicalConfigurationXMLReader.java
index 3c88804..e84868f 100644
--- a/src/main/java/org/apache/commons/configuration2/HierarchicalConfigurationXMLReader.java
+++ b/src/main/java/org/apache/commons/configuration2/HierarchicalConfigurationXMLReader.java
@@ -100,7 +100,7 @@
     /**
      * A specialized visitor class for generating SAX events for a hierarchical node structure.
      */
-    private class SAXVisitor extends ConfigurationNodeVisitorAdapter<T> {
+    private final class SAXVisitor extends ConfigurationNodeVisitorAdapter<T> {
         /** Constant for the attribute type. */
         private static final String ATTR_TYPE = "CDATA";
 
diff --git a/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java b/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
index d54962b..64fe72f 100644
--- a/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
@@ -300,7 +300,7 @@
      *
      * @since 1.2
      */
-    private class XMLPropertiesHandler extends DefaultHandler {
+    private final class XMLPropertiesHandler extends DefaultHandler {
         /** The key of the current entry being parsed. */
         private String key;
 
diff --git a/src/main/java/org/apache/commons/configuration2/tree/ModelTransaction.java b/src/main/java/org/apache/commons/configuration2/tree/ModelTransaction.java
index e4fd85a..a90c940 100644
--- a/src/main/java/org/apache/commons/configuration2/tree/ModelTransaction.java
+++ b/src/main/java/org/apache/commons/configuration2/tree/ModelTransaction.java
@@ -567,7 +567,7 @@
      * operation is frequently used because each update of a node causes updates of the children of all parent nodes.
      * Therefore, it is treated in a special way and allows adding further sub operations dynamically.
      */
-    private class ChildrenUpdateOperation extends Operation {
+    private final class ChildrenUpdateOperation extends Operation {
         /** A collection with new nodes to be added. */
         private Collection<ImmutableNode> newNodes;
 
@@ -676,7 +676,7 @@
     /**
      * A specialized operation class for adding an attribute to a target node.
      */
-    private static class AddAttributeOperation extends Operation {
+    private static final class AddAttributeOperation extends Operation {
         /** The attribute name. */
         private final String attributeName;
 
@@ -703,7 +703,7 @@
     /**
      * A specialized operation class for adding multiple attributes to a target node.
      */
-    private static class AddAttributesOperation extends Operation {
+    private static final class AddAttributesOperation extends Operation {
         /** The map with attributes. */
         private final Map<String, Object> attributes;
 
@@ -725,7 +725,7 @@
     /**
      * A specialized operation class for removing an attribute from a target node.
      */
-    private static class RemoveAttributeOperation extends Operation {
+    private static final class RemoveAttributeOperation extends Operation {
         /** The attribute name. */
         private final String attributeName;
 
@@ -747,7 +747,7 @@
     /**
      * A specialized operation class which changes the value of a node.
      */
-    private static class ChangeNodeValueOperation extends Operation {
+    private static final class ChangeNodeValueOperation extends Operation {
         /** The new value for the affected node. */
         private final Object newValue;
 
@@ -769,7 +769,7 @@
     /**
      * A specialized operation class which changes the name of a node.
      */
-    private static class ChangeNodeNameOperation extends Operation {
+    private static final class ChangeNodeNameOperation extends Operation {
         /** The new node name. */
         private final String newName;
 
@@ -791,7 +791,7 @@
     /**
      * A helper class which collects multiple update operations to be executed on a single node.
      */
-    private class Operations {
+    private final class Operations {
         /** An operation for manipulating child nodes. */
         private ChildrenUpdateOperation childrenOperation;