Convert to lambdas (no braces formatting restrictions.)
diff --git a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
index 44fb31a..b3c4c9d 100644
--- a/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/AbstractConfiguration.java
@@ -532,14 +532,7 @@
     public final void addErrorLogListener()
     {
         addEventListener(ConfigurationErrorEvent.ANY,
-                new EventListener<ConfigurationErrorEvent>()
-                {
-                    @Override
-                    public void onEvent(final ConfigurationErrorEvent event)
-                    {
-                        getLogger().warn("Internal error", event.getCause());
-                    }
-                });
+                event -> getLogger().warn("Internal error", event.getCause()));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
index dc3c60e..1cb53e5 100644
--- a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
@@ -619,14 +619,7 @@
      */
     private EventListener<ConfigurationEvent> createChangeListener()
     {
-        return new EventListener<ConfigurationEvent>()
-        {
-            @Override
-            public void onEvent(final ConfigurationEvent event)
-            {
-                subnodeConfigurationChanged(event);
-            }
-        };
+        return event -> subnodeConfigurationChanged(event);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java b/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java
index 02a1f22..3491558 100644
--- a/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java
+++ b/src/main/java/org/apache/commons/configuration2/ConfigurationUtils.java
@@ -505,15 +505,10 @@
                     "Configuration must implement EventSource!");
         }
         ((EventSource) src).addEventListener(ConfigurationErrorEvent.ANY,
-                new EventListener<ConfigurationErrorEvent>()
-                {
-                    @Override
-                    public void onEvent(final ConfigurationErrorEvent event)
-                    {
-                        // Throw a runtime exception
-                        throw new ConfigurationRuntimeException(event
-                                .getCause());
-                    }
+                event -> {
+                    // Throw a runtime exception
+                    throw new ConfigurationRuntimeException(event
+                            .getCause());
                 });
     }
 
diff --git a/src/main/java/org/apache/commons/configuration2/PropertiesConfiguration.java b/src/main/java/org/apache/commons/configuration2/PropertiesConfiguration.java
index e602030..4d8f4b7 100644
--- a/src/main/java/org/apache/commons/configuration2/PropertiesConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/PropertiesConfiguration.java
@@ -1053,15 +1053,10 @@
          * {@link #ESCAPE_PROPERTIES} translator.
          */
         private static final ValueTransformer DEFAULT_TRANSFORMER =
-                new ValueTransformer()
-                {
-                    @Override
-                    public Object transformValue(final Object value)
-                    {
-                        final String strVal = String.valueOf(value);
-                        return ESCAPE_PROPERTIES.translate(strVal);
-                    }
-                };
+                value -> {
+            final String strVal = String.valueOf(value);
+            return ESCAPE_PROPERTIES.translate(strVal);
+        };
 
         /** The value transformer used for escaping property values. */
         private final ValueTransformer valueTransformer;
@@ -1659,33 +1654,28 @@
         public JupPropertiesWriter(final Writer writer, final ListDelimiterHandler delHandler,
             final boolean escapeUnicode)
         {
-            super(writer, delHandler, new ValueTransformer()
-            {
-                @Override
-                public Object transformValue(final Object value)
+            super(writer, delHandler, value -> {
+                String valueString = String.valueOf(value);
+
+                CharSequenceTranslator translator;
+                if (escapeUnicode)
                 {
-                    String valueString = String.valueOf(value);
-
-                    CharSequenceTranslator translator;
-                    if (escapeUnicode)
-                    {
-                        translator = new AggregateTranslator(new LookupTranslator(JUP_CHARS_ESCAPE), ESCAPER);
-                    }
-                    else
-                    {
-                        translator = new AggregateTranslator(new LookupTranslator(JUP_CHARS_ESCAPE));
-                    }
-
-                    valueString = translator.translate(valueString);
-
-                    // escape the first leading space to preserve it (and all after it)
-                    if (valueString.startsWith(" "))
-                    {
-                        valueString = "\\" + valueString;
-                    }
-
-                    return valueString;
+                    translator = new AggregateTranslator(new LookupTranslator(JUP_CHARS_ESCAPE), ESCAPER);
                 }
+                else
+                {
+                    translator = new AggregateTranslator(new LookupTranslator(JUP_CHARS_ESCAPE));
+                }
+
+                valueString = translator.translate(valueString);
+
+                // escape the first leading space to preserve it (and all after it)
+                if (valueString.startsWith(" "))
+                {
+                    valueString = "\\" + valueString;
+                }
+
+                return valueString;
             });
         }
 
diff --git a/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java b/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
index 85152a0..011a521 100644
--- a/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/XMLPropertiesConfiguration.java
@@ -36,7 +36,6 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.DefaultHandler;
@@ -144,14 +143,8 @@
             final SAXParser parser = factory.newSAXParser();
 
             final XMLReader xmlReader = parser.getXMLReader();
-            xmlReader.setEntityResolver(new EntityResolver()
-            {
-                @Override
-                public InputSource resolveEntity(final String publicId, final String systemId)
-                {
-                    return new InputSource(getClass().getClassLoader().getResourceAsStream("properties.dtd"));
-                }
-            });
+            xmlReader.setEntityResolver((publicId, systemId) ->
+                new InputSource(getClass().getClassLoader().getResourceAsStream("properties.dtd")));
             xmlReader.setContentHandler(new XMLPropertiesHandler());
             xmlReader.parse(new InputSource(in));
         }
diff --git a/src/main/java/org/apache/commons/configuration2/builder/combined/CombinedConfigurationBuilder.java b/src/main/java/org/apache/commons/configuration2/builder/combined/CombinedConfigurationBuilder.java
index f13d459..81682eb 100644
--- a/src/main/java/org/apache/commons/configuration2/builder/combined/CombinedConfigurationBuilder.java
+++ b/src/main/java/org/apache/commons/configuration2/builder/combined/CombinedConfigurationBuilder.java
@@ -1294,18 +1294,13 @@
             final ConfigurationBuilder<? extends HierarchicalConfiguration<?>> defBuilder)
     {
         defBuilder.addEventListener(ConfigurationBuilderEvent.RESET,
-                new EventListener<ConfigurationBuilderEvent>()
-                {
-            @Override
-            public void onEvent(final ConfigurationBuilderEvent event)
-            {
-                synchronized (CombinedConfigurationBuilder.this)
-                {
-                    reset();
-                    definitionBuilder = defBuilder;
-                }
-            }
-        });
+                event -> {
+                    synchronized (CombinedConfigurationBuilder.this)
+                    {
+                        reset();
+                        definitionBuilder = defBuilder;
+                    }
+                });
     }
 
     /**
@@ -1621,14 +1616,7 @@
          */
         private EventListener<ConfigurationBuilderEvent> createBuilderChangeListener()
         {
-            return new EventListener<ConfigurationBuilderEvent>()
-            {
-                @Override
-                public void onEvent(final ConfigurationBuilderEvent event)
-                {
-                    resetResult();
-                }
-            };
+            return event -> resetResult();
         }
 
         /**
diff --git a/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilder.java b/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilder.java
index fff5a21..19505ec 100644
--- a/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilder.java
+++ b/src/main/java/org/apache/commons/configuration2/builder/combined/MultiFileConfigurationBuilder.java
@@ -110,14 +110,7 @@
      * {@code MultiFileConfigurationBuilder}.
      */
     private final EventListener<ConfigurationBuilderEvent> managedBuilderDelegationListener =
-            new EventListener<ConfigurationBuilderEvent>()
-            {
-                @Override
-                public void onEvent(final ConfigurationBuilderEvent event)
-                {
-                    handleManagedBuilderEvent(event);
-                }
-            };
+            event -> handleManagedBuilderEvent(event);
 
     /**
      * Creates a new instance of {@code MultiFileConfigurationBuilder} and sets
diff --git a/src/main/java/org/apache/commons/configuration2/convert/ListDelimiterHandler.java b/src/main/java/org/apache/commons/configuration2/convert/ListDelimiterHandler.java
index 565bb02..73febf3 100644
--- a/src/main/java/org/apache/commons/configuration2/convert/ListDelimiterHandler.java
+++ b/src/main/java/org/apache/commons/configuration2/convert/ListDelimiterHandler.java
@@ -61,14 +61,7 @@
      * passed in object without changes. This instance can be used by
      * configurations which do not require additional encoding.
      */
-    ValueTransformer NOOP_TRANSFORMER = new ValueTransformer()
-    {
-        @Override
-        public Object transformValue(final Object value)
-        {
-            return value;
-        }
-    };
+    ValueTransformer NOOP_TRANSFORMER = value -> value;
 
     /**
      * Parses the specified value for list delimiters and splits it if
diff --git a/src/main/java/org/apache/commons/configuration2/event/EventListenerList.java b/src/main/java/org/apache/commons/configuration2/event/EventListenerList.java
index ae50814..7711935 100644
--- a/src/main/java/org/apache/commons/configuration2/event/EventListenerList.java
+++ b/src/main/java/org/apache/commons/configuration2/event/EventListenerList.java
@@ -172,14 +172,7 @@
     public <T extends Event> Iterable<EventListener<? super T>> getEventListeners(
             final EventType<T> eventType)
     {
-        return new Iterable<EventListener<? super T>>()
-        {
-            @Override
-            public Iterator<EventListener<? super T>> iterator()
-            {
-                return getEventListenerIterator(eventType);
-            }
-        };
+        return () -> getEventListenerIterator(eventType);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/configuration2/interpol/ConfigurationInterpolator.java b/src/main/java/org/apache/commons/configuration2/interpol/ConfigurationInterpolator.java
index b777467..412dfd8 100644
--- a/src/main/java/org/apache/commons/configuration2/interpol/ConfigurationInterpolator.java
+++ b/src/main/java/org/apache/commons/configuration2/interpol/ConfigurationInterpolator.java
@@ -29,7 +29,6 @@
 
 import org.apache.commons.text.StringSubstitutor;
 import org.apache.commons.text.lookup.DefaultStringLookup;
-import org.apache.commons.text.lookup.StringLookup;
 
 /**
  * <p>
@@ -341,14 +340,7 @@
      */
     private StringSubstitutor initSubstitutor()
     {
-        return new StringSubstitutor(new StringLookup()
-        {
-            @Override
-            public String lookup(final String key)
-            {
-                return Objects.toString(resolve(key), null);
-            }
-        });
+        return new StringSubstitutor(key -> Objects.toString(resolve(key), null));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java b/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
index ee03a34..165b1ba 100644
--- a/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
+++ b/src/main/java/org/apache/commons/configuration2/interpol/ExprLookup.java
@@ -258,14 +258,7 @@
         }
         else
         {
-            final StringLookup variableResolver = new StringLookup()
-            {
-                @Override
-                public String lookup(final String key)
-                {
-                    return Objects.toString(ip.resolve(key), null);
-                }
-            };
+            final StringLookup variableResolver = key -> Objects.toString(ip.resolve(key), null);
             substitutor =
                     new StringSubstitutor(variableResolver, prefixMatcher,
                             suffixMatcher, StringSubstitutor.DEFAULT_ESCAPE);
diff --git a/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java b/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
index a698f74..7afd61b 100644
--- a/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/plist/XMLPropertyListConfiguration.java
@@ -233,15 +233,8 @@
     public void read(final Reader in) throws ConfigurationException
     {
         // set up the DTD validation
-        final EntityResolver resolver = new EntityResolver()
-        {
-            @Override
-            public InputSource resolveEntity(final String publicId, final String systemId)
-            {
-                return new InputSource(getClass().getClassLoader()
-                        .getResourceAsStream("PropertyList-1.0.dtd"));
-            }
-        };
+        final EntityResolver resolver = (publicId, systemId) -> new InputSource(getClass().getClassLoader()
+                .getResourceAsStream("PropertyList-1.0.dtd"));
 
         // parse the file
         final XMLPropertyListHandler handler = new XMLPropertyListHandler();
diff --git a/src/main/java/org/apache/commons/configuration2/reloading/PeriodicReloadingTrigger.java b/src/main/java/org/apache/commons/configuration2/reloading/PeriodicReloadingTrigger.java
index aa918d1..d3f58fb 100644
--- a/src/main/java/org/apache/commons/configuration2/reloading/PeriodicReloadingTrigger.java
+++ b/src/main/java/org/apache/commons/configuration2/reloading/PeriodicReloadingTrigger.java
@@ -209,14 +209,7 @@
      */
     private Runnable createTriggerTaskCommand()
     {
-        return new Runnable()
-        {
-            @Override
-            public void run()
-            {
-                controller.checkForReloading(controllerParam);
-            }
-        };
+        return () -> controller.checkForReloading(controllerParam);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/configuration2/tree/InMemoryNodeModel.java b/src/main/java/org/apache/commons/configuration2/tree/InMemoryNodeModel.java
index db28a01..b22a73f 100644
--- a/src/main/java/org/apache/commons/configuration2/tree/InMemoryNodeModel.java
+++ b/src/main/java/org/apache/commons/configuration2/tree/InMemoryNodeModel.java
@@ -141,14 +141,9 @@
     {
         if (valuesNotEmpty(values))
         {
-            updateModel(new TransactionInitializer()
-            {
-                @Override
-                public boolean initTransaction(final ModelTransaction tx)
-                {
-                    initializeAddTransaction(tx, key, values, resolver);
-                    return true;
-                }
+            updateModel(tx -> {
+                initializeAddTransaction(tx, key, values, resolver);
+                return true;
             }, selector, resolver);
         }
     }
@@ -180,40 +175,35 @@
     {
         if (nodes != null && !nodes.isEmpty())
         {
-            updateModel(new TransactionInitializer()
-            {
-                @Override
-                public boolean initTransaction(final ModelTransaction tx)
+            updateModel(tx -> {
+                final List<QueryResult<ImmutableNode>> results =
+                        resolver.resolveKey(tx.getQueryRoot(), key,
+                                tx.getCurrentData());
+                if (results.size() == 1)
                 {
-                    final List<QueryResult<ImmutableNode>> results =
-                            resolver.resolveKey(tx.getQueryRoot(), key,
-                                    tx.getCurrentData());
-                    if (results.size() == 1)
+                    if (results.get(0).isAttributeResult())
                     {
-                        if (results.get(0).isAttributeResult())
-                        {
-                            throw attributeKeyException(key);
-                        }
-                        tx.addAddNodesOperation(results.get(0).getNode(), nodes);
+                        throw attributeKeyException(key);
                     }
-                    else
-                    {
-                        final NodeAddData<ImmutableNode> addData =
-                                resolver.resolveAddKey(tx.getQueryRoot(), key,
-                                        tx.getCurrentData());
-                        if (addData.isAttribute())
-                        {
-                            throw attributeKeyException(key);
-                        }
-                        final ImmutableNode newNode =
-                                new ImmutableNode.Builder(nodes.size())
-                                        .name(addData.getNewNodeName())
-                                        .addChildren(nodes).create();
-                        addNodesByAddData(tx, addData,
-                                Collections.singleton(newNode));
-                    }
-                    return true;
+                    tx.addAddNodesOperation(results.get(0).getNode(), nodes);
                 }
+                else
+                {
+                    final NodeAddData<ImmutableNode> addData =
+                            resolver.resolveAddKey(tx.getQueryRoot(), key,
+                                    tx.getCurrentData());
+                    if (addData.isAttribute())
+                    {
+                        throw attributeKeyException(key);
+                    }
+                    final ImmutableNode newNode =
+                            new ImmutableNode.Builder(nodes.size())
+                                    .name(addData.getNewNodeName())
+                                    .addChildren(nodes).create();
+                    addNodesByAddData(tx, addData,
+                            Collections.singleton(newNode));
+                }
+                return true;
             }, selector, resolver);
         }
     }
@@ -242,29 +232,24 @@
     public void setProperty(final String key, final NodeSelector selector,
             final Object value, final NodeKeyResolver<ImmutableNode> resolver)
     {
-        updateModel(new TransactionInitializer()
-        {
-            @Override
-            public boolean initTransaction(final ModelTransaction tx)
+        updateModel(tx -> {
+            boolean added = false;
+            final NodeUpdateData<ImmutableNode> updateData =
+                    resolver.resolveUpdateKey(tx.getQueryRoot(), key,
+                            value, tx.getCurrentData());
+            if (!updateData.getNewValues().isEmpty())
             {
-                boolean added = false;
-                final NodeUpdateData<ImmutableNode> updateData =
-                        resolver.resolveUpdateKey(tx.getQueryRoot(), key,
-                                value, tx.getCurrentData());
-                if (!updateData.getNewValues().isEmpty())
-                {
-                    initializeAddTransaction(tx, key,
-                            updateData.getNewValues(), resolver);
-                    added = true;
-                }
-                final boolean cleared =
-                        initializeClearTransaction(tx,
-                                updateData.getRemovedNodes());
-                final boolean updated =
-                        initializeUpdateTransaction(tx,
-                                updateData.getChangedValues());
-                return added || cleared || updated;
+                initializeAddTransaction(tx, key,
+                        updateData.getNewValues(), resolver);
+                added = true;
             }
+            final boolean cleared =
+                    initializeClearTransaction(tx,
+                            updateData.getRemovedNodes());
+            final boolean updated =
+                    initializeUpdateTransaction(tx,
+                            updateData.getChangedValues());
+            return added || cleared || updated;
         }, selector, resolver);
     }
 
@@ -300,40 +285,35 @@
     {
         final List<QueryResult<ImmutableNode>> removedElements =
                 new LinkedList<>();
-        updateModel(new TransactionInitializer()
-        {
-            @Override
-            public boolean initTransaction(final ModelTransaction tx)
+        updateModel(tx -> {
+            boolean changes = false;
+            final TreeData currentStructure = tx.getCurrentData();
+            final List<QueryResult<ImmutableNode>> results = resolver.resolveKey(
+                    tx.getQueryRoot(), key, currentStructure);
+            removedElements.clear();
+            removedElements.addAll(results);
+            for (final QueryResult<ImmutableNode> result : results)
             {
-                boolean changes = false;
-                final TreeData currentStructure = tx.getCurrentData();
-                final List<QueryResult<ImmutableNode>> results = resolver.resolveKey(
-                        tx.getQueryRoot(), key, currentStructure);
-                removedElements.clear();
-                removedElements.addAll(results);
-                for (final QueryResult<ImmutableNode> result : results)
+                if (result.isAttributeResult())
                 {
-                    if (result.isAttributeResult())
-                    {
-                        tx.addRemoveAttributeOperation(result.getNode(),
-                                result.getAttributeName());
-                    }
-                    else
-                    {
-                        if (result.getNode() == currentStructure.getRootNode())
-                        {
-                            // the whole model is to be cleared
-                            clear(resolver);
-                            return false;
-                        }
-                        tx.addRemoveNodeOperation(
-                                currentStructure.getParent(result.getNode()),
-                                result.getNode());
-                    }
-                    changes = true;
+                    tx.addRemoveAttributeOperation(result.getNode(),
+                            result.getAttributeName());
                 }
-                return changes;
+                else
+                {
+                    if (result.getNode() == currentStructure.getRootNode())
+                    {
+                        // the whole model is to be cleared
+                        clear(resolver);
+                        return false;
+                    }
+                    tx.addRemoveNodeOperation(
+                            currentStructure.getParent(result.getNode()),
+                            result.getNode());
+                }
+                changes = true;
             }
+            return changes;
         }, selector, resolver);
 
         return removedElements;
@@ -366,16 +346,11 @@
     public void clearProperty(final String key, final NodeSelector selector,
             final NodeKeyResolver<ImmutableNode> resolver)
     {
-        updateModel(new TransactionInitializer()
-        {
-            @Override
-            public boolean initTransaction(final ModelTransaction tx)
-            {
-                final List<QueryResult<ImmutableNode>> results =
-                        resolver.resolveKey(tx.getQueryRoot(), key,
-                                tx.getCurrentData());
-                return initializeClearTransaction(tx, results);
-            }
+        updateModel(tx -> {
+            final List<QueryResult<ImmutableNode>> results =
+                    resolver.resolveKey(tx.getQueryRoot(), key,
+                            tx.getCurrentData());
+            return initializeClearTransaction(tx, results);
         }, selector, resolver);
     }
 
@@ -470,38 +445,33 @@
             final Map<ImmutableNode, ?> references, final Object rootRef,
             final NodeKeyResolver<ImmutableNode> resolver)
     {
-        updateModel(new TransactionInitializer()
-        {
-            @Override
-            public boolean initTransaction(final ModelTransaction tx)
+        updateModel(tx -> {
+            final TreeData current = tx.getCurrentData();
+            final String newRootName =
+                    determineRootName(current.getRootNode(), node, rootName);
+            if (newRootName != null)
             {
-                final TreeData current = tx.getCurrentData();
-                final String newRootName =
-                        determineRootName(current.getRootNode(), node, rootName);
-                if (newRootName != null)
-                {
-                    tx.addChangeNodeNameOperation(current.getRootNode(),
-                            newRootName);
-                }
-                tx.addAddNodesOperation(current.getRootNode(),
-                        node.getChildren());
-                tx.addAttributesOperation(current.getRootNode(),
-                        node.getAttributes());
-                if (node.getValue() != null)
-                {
-                    tx.addChangeNodeValueOperation(current.getRootNode(),
-                            node.getValue());
-                }
-                if (references != null)
-                {
-                    tx.addNewReferences(references);
-                }
-                if (rootRef != null)
-                {
-                    tx.addNewReference(current.getRootNode(), rootRef);
-                }
-                return true;
+                tx.addChangeNodeNameOperation(current.getRootNode(),
+                        newRootName);
             }
+            tx.addAddNodesOperation(current.getRootNode(),
+                    node.getChildren());
+            tx.addAttributesOperation(current.getRootNode(),
+                    node.getAttributes());
+            if (node.getValue() != null)
+            {
+                tx.addChangeNodeValueOperation(current.getRootNode(),
+                        node.getValue());
+            }
+            if (references != null)
+            {
+                tx.addNewReferences(references);
+            }
+            if (rootRef != null)
+            {
+                tx.addNewReference(current.getRootNode(), rootRef);
+            }
+            return true;
         }, null, resolver);
     }
 
diff --git a/src/test/java/org/apache/commons/configuration2/InterpolationTestHelper.java b/src/test/java/org/apache/commons/configuration2/InterpolationTestHelper.java
index 5d1bb15..afd12a1 100644
--- a/src/test/java/org/apache/commons/configuration2/InterpolationTestHelper.java
+++ b/src/test/java/org/apache/commons/configuration2/InterpolationTestHelper.java
@@ -27,7 +27,6 @@
 import java.util.Map;
 
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
-import org.apache.commons.configuration2.interpol.Lookup;
 
 import junitx.framework.Assert;
 
@@ -47,14 +46,7 @@
     {
         config.addProperty("var", "${echo:testVar}");
         final ConfigurationInterpolator interpol = config.getInterpolator();
-        interpol.registerLookup("echo", new Lookup()
-        {
-            @Override
-            public Object lookup(final String varName)
-            {
-                return "Value of variable " + varName;
-            }
-        });
+        interpol.registerLookup("echo", varName -> "Value of variable " + varName);
         assertEquals("Wrong value of echo variable",
                 "Value of variable testVar", config.getString("var"));
     }
diff --git a/src/test/java/org/apache/commons/configuration2/TestConfigurationConverter.java b/src/test/java/org/apache/commons/configuration2/TestConfigurationConverter.java
index 30a449e..dd755aa 100644
--- a/src/test/java/org/apache/commons/configuration2/TestConfigurationConverter.java
+++ b/src/test/java/org/apache/commons/configuration2/TestConfigurationConverter.java
@@ -26,7 +26,6 @@
 
 import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Test;
 
 /**
@@ -112,14 +111,9 @@
         final BaseConfiguration config = createTestConfiguration();
         EasyMock.expect(src.getKeys()).andReturn(config.getKeys());
         src.getList(EasyMock.anyObject(String.class));
-        EasyMock.expectLastCall().andAnswer(new IAnswer<Object>()
-        {
-            @Override
-            public Object answer() throws Throwable
-            {
-                final String key = (String) EasyMock.getCurrentArguments()[0];
-                return config.getList(key);
-            }
+        EasyMock.expectLastCall().andAnswer(() -> {
+            final String key = (String) EasyMock.getCurrentArguments()[0];
+            return config.getList(key);
         }).anyTimes();
         EasyMock.replay(src);
         final Properties props = ConfigurationConverter.getProperties(src);
diff --git a/src/test/java/org/apache/commons/configuration2/TestSubnodeConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestSubnodeConfiguration.java
index 9210b5f..8be95c4 100644
--- a/src/test/java/org/apache/commons/configuration2/TestSubnodeConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestSubnodeConfiguration.java
@@ -31,7 +31,6 @@
 import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
 import org.apache.commons.configuration2.convert.ListDelimiterHandler;
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
-import org.apache.commons.configuration2.interpol.Lookup;
 import org.apache.commons.configuration2.tree.ImmutableNode;
 import org.apache.commons.configuration2.tree.InMemoryNodeModel;
 import org.apache.commons.configuration2.tree.NodeSelector;
@@ -441,14 +440,7 @@
         parent.addProperty("tables.table(0).var", "${brackets:x}");
 
         final ConfigurationInterpolator interpolator = parent.getInterpolator();
-        interpolator.registerLookup("brackets", new Lookup() {
-
-            @Override
-            public String lookup(final String key) {
-                return "(" + key + ")";
-            }
-
-        });
+        interpolator.registerLookup("brackets", key -> "(" + key + ")");
         setUpSubnodeConfig();
         assertEquals("Local lookup was not inherited", "(x)",
                 config.getString("var", ""));
diff --git a/src/test/java/org/apache/commons/configuration2/TestSubsetConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestSubsetConfiguration.java
index 706dc0b..6c7c792 100644
--- a/src/test/java/org/apache/commons/configuration2/TestSubsetConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestSubsetConfiguration.java
@@ -36,7 +36,6 @@
 import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
 import org.apache.commons.configuration2.convert.ListDelimiterHandler;
 import org.apache.commons.configuration2.interpol.ConfigurationInterpolator;
-import org.apache.commons.configuration2.interpol.Lookup;
 import org.easymock.EasyMock;
 import org.junit.Test;
 
@@ -346,14 +345,7 @@
     public void testLocalLookupsInInterpolatorAreInherited() {
         final BaseConfiguration config = new BaseConfiguration();
         final ConfigurationInterpolator interpolator = config.getInterpolator();
-        interpolator.registerLookup("brackets", new Lookup(){
-
-            @Override
-            public String lookup(final String key) {
-                return "(" + key +")";
-            }
-
-        });
+        interpolator.registerLookup("brackets", key -> "(" + key +")");
         config.setProperty("prefix.var", "${brackets:x}");
         final AbstractConfiguration subset = (AbstractConfiguration) config
                 .subset("prefix");
diff --git a/src/test/java/org/apache/commons/configuration2/TestXMLPropertiesConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestXMLPropertiesConfiguration.java
index 59a4422..40b0824 100644
--- a/src/test/java/org/apache/commons/configuration2/TestXMLPropertiesConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestXMLPropertiesConfiguration.java
@@ -36,7 +36,6 @@
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.w3c.dom.Document;
-import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 
 /**
@@ -86,15 +85,8 @@
         final URL location = ConfigurationAssert.getTestURL(TEST_PROPERTIES_FILE);
         final DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
         final DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
-        dBuilder.setEntityResolver(new EntityResolver()
-        {
-            @Override
-            public InputSource resolveEntity(final String publicId, final String systemId)
-            {
-                return new InputSource(getClass().getClassLoader()
-                        .getResourceAsStream("properties.dtd"));
-            }
-        });
+        dBuilder.setEntityResolver((publicId, systemId) -> new InputSource(getClass().getClassLoader()
+                .getResourceAsStream("properties.dtd")));
         final File file = new File(location.toURI());
         final Document doc = dBuilder.parse(file);
         final XMLPropertiesConfiguration conf = new XMLPropertiesConfiguration(doc.getDocumentElement());
diff --git a/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilderEvents.java b/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilderEvents.java
index 800ac88..10ced01 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilderEvents.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/TestBasicConfigurationBuilderEvents.java
@@ -25,7 +25,6 @@
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.configuration2.event.Event;
-import org.apache.commons.configuration2.event.EventListener;
 import org.apache.commons.configuration2.event.EventType;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.junit.Test;
@@ -167,14 +166,7 @@
         builder.addEventListener(ConfigurationBuilderEvent.RESET, listener);
         builder.addEventListener(
                 ConfigurationBuilderEvent.CONFIGURATION_REQUEST,
-                new EventListener<ConfigurationBuilderEvent>()
-                {
-                    @Override
-                    public void onEvent(final ConfigurationBuilderEvent event)
-                    {
-                        builder.resetResult();
-                    }
-                });
+                event -> builder.resetResult());
 
         final PropertiesConfiguration configuration2 = builder.getConfiguration();
         assertNotSame("Configuration not reset", configuration, configuration2);
diff --git a/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java b/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
index 042b797..98884af 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/TestDefaultParametersManager.java
@@ -174,19 +174,11 @@
         final ExpressionEngine engine =
                 EasyMock.createMock(ExpressionEngine.class);
         manager.registerDefaultsHandler(XMLBuilderParameters.class,
-                new DefaultParametersHandler<XMLBuilderParameters>()
-                {
-                    @Override
-                    public void initializeDefaults(
-                            final XMLBuilderParameters parameters)
-                    {
-                        parameters
-                                .setThrowExceptionOnMissing(false)
-                                .setListDelimiterHandler(
-                                        EasyMock.createMock(ListDelimiterHandler.class))
-                                .setExpressionEngine(engine);
-                    }
-                });
+                parameters -> parameters
+                        .setThrowExceptionOnMissing(false)
+                        .setListDelimiterHandler(
+                                EasyMock.createMock(ListDelimiterHandler.class))
+                        .setExpressionEngine(engine));
         manager.registerDefaultsHandler(FileBasedBuilderParameters.class,
                 new FileBasedDefaultsHandler());
         final XMLBuilderParameters params = parameters.xml();
diff --git a/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java b/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
index 0a59ea6..40ee408 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/combined/TestCombinedConfigurationBuilder.java
@@ -642,17 +642,8 @@
                 .setDefinitionBuilder(
                         createDefinitionBuilder(createDefinitionConfig(tagName,
                                 attrs))).registerProvider(tagName,
-                        new ConfigurationBuilderProvider()
-                        {
-                            @Override
-                            public ConfigurationBuilder<? extends Configuration> getConfigurationBuilder(
-                                    final ConfigurationDeclaration decl)
-                                    throws ConfigurationException
-                            {
-                                return new ConstantConfigurationBuilder(
-                                        dataConf);
-                            }
-                        }));
+                        decl -> new ConstantConfigurationBuilder(
+                                dataConf)));
         final CombinedConfiguration cc = builder.getConfiguration();
         assertEquals("Configuration not added", dataConf,
                 cc.getConfiguration(BUILDER_NAME));
diff --git a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
index 1f4c46a..38aac70 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/combined/TestReloadingCombinedConfigurationBuilderFileBased.java
@@ -42,7 +42,6 @@
 import org.apache.commons.configuration2.io.FileHandler;
 import org.apache.commons.configuration2.reloading.AlwaysReloadingDetector;
 import org.apache.commons.configuration2.reloading.RandomReloadingDetector;
-import org.apache.commons.configuration2.reloading.ReloadingDetector;
 import org.apache.commons.configuration2.sync.ReadWriteSynchronizer;
 import org.apache.commons.configuration2.sync.Synchronizer;
 import org.apache.commons.configuration2.tree.MergeCombiner;
@@ -176,17 +175,7 @@
         final File xmlConf1 = writeReloadFile(null, 1, 0);
         final File xmlConf2 = writeReloadFile(null, 2, 0);
         final ReloadingDetectorFactory detectorFactory =
-                new ReloadingDetectorFactory()
-                {
-                    @Override
-                    public ReloadingDetector createReloadingDetector(
-                            final FileHandler handler,
-                            final FileBasedBuilderParametersImpl params)
-                            throws ConfigurationException
-                    {
-                        return new AlwaysReloadingDetector();
-                    }
-                };
+                (handler, params) -> new AlwaysReloadingDetector();
         final BaseHierarchicalConfiguration defConf = new BaseHierarchicalConfiguration();
         addReloadSource(defConf, xmlConf1.getAbsolutePath());
         addReloadSource(defConf, xmlConf2.getAbsolutePath());
@@ -230,17 +219,7 @@
         final int threadCount = 4;
         final int loopCount = 100;
         final ReloadingDetectorFactory detectorFactory =
-                new ReloadingDetectorFactory()
-                {
-                    @Override
-                    public ReloadingDetector createReloadingDetector(
-                            final FileHandler handler,
-                            final FileBasedBuilderParametersImpl params)
-                            throws ConfigurationException
-                    {
-                        return new RandomReloadingDetector();
-                    }
-                };
+                (handler, params) -> new RandomReloadingDetector();
         final BaseHierarchicalConfiguration defConf = new BaseHierarchicalConfiguration();
         defConf.addProperty("header.result.nodeCombiner[@config-class]",
                 MergeCombiner.class.getName());
diff --git a/src/test/java/org/apache/commons/configuration2/builder/fluent/TestParameters.java b/src/test/java/org/apache/commons/configuration2/builder/fluent/TestParameters.java
index 03d0785..a19222c 100644
--- a/src/test/java/org/apache/commons/configuration2/builder/fluent/TestParameters.java
+++ b/src/test/java/org/apache/commons/configuration2/builder/fluent/TestParameters.java
@@ -39,7 +39,6 @@
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ExpressionEngine;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -383,14 +382,9 @@
         final List<Object> initializedParams = new ArrayList<>(1);
         manager.initializeParameters(EasyMock
                 .anyObject(BuilderParameters.class));
-        EasyMock.expectLastCall().andAnswer(new IAnswer<Object>()
-        {
-            @Override
-            public Object answer() throws Throwable
-            {
-                initializedParams.add(EasyMock.getCurrentArguments()[0]);
-                return null;
-            }
+        EasyMock.expectLastCall().andAnswer(() -> {
+            initializedParams.add(EasyMock.getCurrentArguments()[0]);
+            return null;
         });
         EasyMock.replay(manager);
 
diff --git a/src/test/java/org/apache/commons/configuration2/convert/TestDefaultListDelimiterHandler.java b/src/test/java/org/apache/commons/configuration2/convert/TestDefaultListDelimiterHandler.java
index b913244..c80b0c5 100644
--- a/src/test/java/org/apache/commons/configuration2/convert/TestDefaultListDelimiterHandler.java
+++ b/src/test/java/org/apache/commons/configuration2/convert/TestDefaultListDelimiterHandler.java
@@ -102,14 +102,7 @@
     @Test
     public void testEscapeList()
     {
-        final ValueTransformer trans = new ValueTransformer()
-        {
-            @Override
-            public Object transformValue(final Object value)
-            {
-                return String.valueOf(value) + "_trans";
-            }
-        };
+        final ValueTransformer trans = value -> String.valueOf(value) + "_trans";
         final List<String> data =
                 Arrays.asList("simple", "Hello,world!", "\\,\\", "end");
         assertEquals("Wrong result", "simple_trans,Hello\\,world!_trans,"
diff --git a/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java b/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
index 3e00394..db1a281 100644
--- a/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
+++ b/src/test/java/org/apache/commons/configuration2/event/TestEventListenerList.java
@@ -400,12 +400,7 @@
     @Test(expected = IllegalArgumentException.class)
     public void testEventListenerIteratorWrongEvent()
     {
-        final EventListener<EventSub2> listener = new EventListener<EventSub2>()
-        {
-            @Override
-            public void onEvent(final EventSub2 event)
-            {
-            }
+        final EventListener<EventSub2> listener = event -> {
         };
         list.addEventListener(typeSub2, listener);
         final EventListenerList.EventListenerIterator<EventSub2> iterator =
diff --git a/src/test/java/org/apache/commons/configuration2/interpol/TestConfigurationInterpolator.java b/src/test/java/org/apache/commons/configuration2/interpol/TestConfigurationInterpolator.java
index be53c03..708d98c 100644
--- a/src/test/java/org/apache/commons/configuration2/interpol/TestConfigurationInterpolator.java
+++ b/src/test/java/org/apache/commons/configuration2/interpol/TestConfigurationInterpolator.java
@@ -30,7 +30,6 @@
 import java.util.Map;
 
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -71,17 +70,12 @@
     {
         final Lookup lookup = EasyMock.createMock(Lookup.class);
         EasyMock.expect(lookup.lookup(EasyMock.anyObject(String.class)))
-                .andAnswer(new IAnswer<Object>()
-                {
-                    @Override
-                    public Object answer() throws Throwable
+                .andAnswer(() -> {
+                    if (var.equals(EasyMock.getCurrentArguments()[0]))
                     {
-                        if (var.equals(EasyMock.getCurrentArguments()[0]))
-                        {
-                            return value;
-                        }
-                        return null;
+                        return value;
                     }
+                    return null;
                 }).anyTimes();
         EasyMock.replay(lookup);
         return lookup;
diff --git a/src/test/java/org/apache/commons/configuration2/reloading/TestPeriodicReloadingTrigger.java b/src/test/java/org/apache/commons/configuration2/reloading/TestPeriodicReloadingTrigger.java
index 2375b8d..40daaec 100644
--- a/src/test/java/org/apache/commons/configuration2/reloading/TestPeriodicReloadingTrigger.java
+++ b/src/test/java/org/apache/commons/configuration2/reloading/TestPeriodicReloadingTrigger.java
@@ -26,7 +26,6 @@
 
 import org.apache.commons.lang3.mutable.MutableObject;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -137,15 +136,10 @@
         final MutableObject<Runnable> refTask = new MutableObject<>();
         expectSchedule(null);
         EasyMock.expectLastCall().andAnswer(
-                new IAnswer<ScheduledFuture<Void>>()
-                {
-                    @Override
-                    public ScheduledFuture<Void> answer() throws Throwable
-                    {
-                        refTask.setValue((Runnable) EasyMock
-                                .getCurrentArguments()[0]);
-                        return future;
-                    }
+                () -> {
+                    refTask.setValue((Runnable) EasyMock
+                            .getCurrentArguments()[0]);
+                    return future;
                 });
         EasyMock.expect(controller.checkForReloading(CTRL_PARAM)).andReturn(
                 Boolean.FALSE);
diff --git a/src/test/java/org/apache/commons/configuration2/reloading/TestReloadingController.java b/src/test/java/org/apache/commons/configuration2/reloading/TestReloadingController.java
index d6d184f..84e5a56 100644
--- a/src/test/java/org/apache/commons/configuration2/reloading/TestReloadingController.java
+++ b/src/test/java/org/apache/commons/configuration2/reloading/TestReloadingController.java
@@ -25,7 +25,6 @@
 import org.apache.commons.configuration2.event.EventListener;
 import org.apache.commons.lang3.mutable.MutableObject;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -98,14 +97,9 @@
             final MutableObject<ReloadingEvent> evRef)
     {
         l.onEvent(EasyMock.anyObject(ReloadingEvent.class));
-        EasyMock.expectLastCall().andAnswer(new IAnswer<Object>()
-        {
-            @Override
-            public Object answer() throws Throwable
-            {
-                evRef.setValue((ReloadingEvent) EasyMock.getCurrentArguments()[0]);
-                return null;
-            }
+        EasyMock.expectLastCall().andAnswer(() -> {
+            evRef.setValue((ReloadingEvent) EasyMock.getCurrentArguments()[0]);
+            return null;
         });
     }
 
diff --git a/src/test/java/org/apache/commons/configuration2/tree/NodeStructureHelper.java b/src/test/java/org/apache/commons/configuration2/tree/NodeStructureHelper.java
index b0ce1a4..15cc7a2 100644
--- a/src/test/java/org/apache/commons/configuration2/tree/NodeStructureHelper.java
+++ b/src/test/java/org/apache/commons/configuration2/tree/NodeStructureHelper.java
@@ -16,7 +16,6 @@
  */
 package org.apache.commons.configuration2.tree;
 
-import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -24,7 +23,6 @@
 import org.apache.commons.lang3.StringUtils;
 import org.dbunit.dataset.common.handlers.NoHandler;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 
 /**
  * A helper class for tests related to hierarchies of {@code ImmutableNode}
@@ -378,20 +376,16 @@
                         EasyMock.anyObject(String.class),
                         (NodeHandler<ImmutableNode>) EasyMock
                                 .anyObject(NoHandler.class)))
-                .andAnswer(new IAnswer<List<QueryResult<ImmutableNode>>>() {
-                    @Override
-                    public List<QueryResult<ImmutableNode>> answer()
-                            throws Throwable {
-                        final ImmutableNode root =
-                                (ImmutableNode) EasyMock.getCurrentArguments()[0];
-                        final String key = (String) EasyMock.getCurrentArguments()[1];
-                        final NodeHandler<ImmutableNode> handler =
-                                (NodeHandler<ImmutableNode>) EasyMock
-                                        .getCurrentArguments()[2];
-                        return DefaultExpressionEngine.INSTANCE.query(root,
-                                key, handler);
-                    }
-                }).anyTimes();
+                .andAnswer(() -> {
+                  final ImmutableNode root =
+                    (ImmutableNode) EasyMock.getCurrentArguments()[0];
+                  final String key = (String) EasyMock.getCurrentArguments()[1];
+                  final NodeHandler<ImmutableNode> handler =
+                    (NodeHandler<ImmutableNode>) EasyMock
+                            .getCurrentArguments()[2];
+                  return DefaultExpressionEngine.INSTANCE.query(root,
+                    key, handler);
+               }).anyTimes();
     }
 
     /**
@@ -407,17 +401,14 @@
                 resolver.resolveAddKey(EasyMock.anyObject(ImmutableNode.class),
                         EasyMock.anyString(),
                         EasyMock.anyObject(TreeData.class)))
-                .andAnswer(new IAnswer<NodeAddData<ImmutableNode>>() {
-                    @Override
-                    public NodeAddData<ImmutableNode> answer() throws Throwable {
-                        final ImmutableNode root =
-                                (ImmutableNode) EasyMock.getCurrentArguments()[0];
-                        final String key = (String) EasyMock.getCurrentArguments()[1];
-                        final TreeData handler =
-                                (TreeData) EasyMock.getCurrentArguments()[2];
-                        return DefaultExpressionEngine.INSTANCE.prepareAdd(
-                                root, key, handler);
-                    }
+                .andAnswer(() -> {
+                    final ImmutableNode root =
+                            (ImmutableNode) EasyMock.getCurrentArguments()[0];
+                    final String key = (String) EasyMock.getCurrentArguments()[1];
+                    final TreeData handler =
+                            (TreeData) EasyMock.getCurrentArguments()[2];
+                    return DefaultExpressionEngine.INSTANCE.prepareAdd(
+                            root, key, handler);
                 }).anyTimes();
     }
 
diff --git a/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModel.java b/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModel.java
index 1e918d6..59ef217 100644
--- a/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModel.java
+++ b/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModel.java
@@ -44,7 +44,6 @@
 import java.util.regex.Pattern;
 
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Test;
 
 /**
@@ -605,17 +604,13 @@
                             EasyMock.anyObject(ImmutableNode.class),
                             EasyMock.eq(KEY),
                             EasyMock.anyObject(TreeData.class))).andAnswer(
-                    new IAnswer<NodeAddData<ImmutableNode>>() {
-                        @Override
-                        public NodeAddData<ImmutableNode> answer()
-                                throws Throwable {
-                            assertSame("Wrong root node", model.getRootNode(),
-                                    EasyMock.getCurrentArguments()[0]);
-                            final ImmutableNode addParent = nodeForKey(model, key);
-                            return new NodeAddData<>(addParent,
-                                    "Warrior" + index, false, null);
-                        }
-                    });
+                    () -> {
+                     assertSame("Wrong root node", model.getRootNode(),
+                        EasyMock.getCurrentArguments()[0]);
+                     final ImmutableNode addParent = nodeForKey(model, key);
+                     return new NodeAddData<>(addParent,
+                        "Warrior" + index, false, null);
+                  });
         }
         EasyMock.replay(resolver);
 
@@ -647,16 +642,11 @@
         EasyMock.expect(
                 resolver.resolveAddKey(EasyMock.anyObject(ImmutableNode.class),
                         EasyMock.eq(KEY), EasyMock.anyObject(TreeData.class)))
-                .andAnswer(new IAnswer<NodeAddData<ImmutableNode>>()
-                {
-                    @Override
-                    public NodeAddData<ImmutableNode> answer() throws Throwable
-                    {
-                        final ImmutableNode addParent =
-                                (ImmutableNode) EasyMock.getCurrentArguments()[0];
-                        return new NodeAddData<>(addParent,
-                                "name", false, Collections.singleton("author"));
-                    }
+                .andAnswer(() -> {
+                    final ImmutableNode addParent =
+                            (ImmutableNode) EasyMock.getCurrentArguments()[0];
+                    return new NodeAddData<>(addParent,
+                            "name", false, Collections.singleton("author"));
                 }).anyTimes();
         EasyMock.replay(resolver);
 
diff --git a/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModelTrackedNodes.java b/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModelTrackedNodes.java
index 3316452..f1cd904 100644
--- a/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModelTrackedNodes.java
+++ b/src/test/java/org/apache/commons/configuration2/tree/TestInMemoryNodeModelTrackedNodes.java
@@ -38,7 +38,6 @@
 
 import org.apache.commons.configuration2.ex.ConfigurationRuntimeException;
 import org.easymock.EasyMock;
-import org.easymock.IAnswer;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -548,26 +547,22 @@
                         EasyMock.anyObject(ImmutableNode.class),
                         EasyMock.anyString(), EasyMock.anyObject(),
                         EasyMock.anyObject(TreeData.class)))
-                .andAnswer(new IAnswer<NodeUpdateData<ImmutableNode>>() {
-                    @Override
-                    public NodeUpdateData<ImmutableNode> answer()
-                            throws Throwable {
-                        final ImmutableNode root =
-                                (ImmutableNode) EasyMock.getCurrentArguments()[0];
-                        final String key = (String) EasyMock.getCurrentArguments()[1];
-                        final TreeData handler =
-                                (TreeData) EasyMock.getCurrentArguments()[3];
-                        final List<QueryResult<ImmutableNode>> results =
-                                DefaultExpressionEngine.INSTANCE.query(root,
-                                        key, handler);
-                        assertEquals("Wrong number of query results", 1,
-                                results.size());
-                        return new NodeUpdateData<>(Collections
-                                .singletonMap(results.get(0),
-                                        EasyMock.getCurrentArguments()[2]),
-                                null, null, null);
-                    }
-                }).anyTimes();
+                .andAnswer(() -> {
+                  final ImmutableNode root =
+                    (ImmutableNode) EasyMock.getCurrentArguments()[0];
+                  final String key = (String) EasyMock.getCurrentArguments()[1];
+                  final TreeData handler =
+                    (TreeData) EasyMock.getCurrentArguments()[3];
+                  final List<QueryResult<ImmutableNode>> results =
+                    DefaultExpressionEngine.INSTANCE.query(root,
+                            key, handler);
+                  assertEquals("Wrong number of query results", 1,
+                    results.size());
+                  return new NodeUpdateData<>(Collections
+                    .singletonMap(results.get(0),
+                            EasyMock.getCurrentArguments()[2]),
+                    null, null, null);
+               }).anyTimes();
     }
 
     /**