You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2019/04/25 03:49:20 UTC

[maven-resolver] 01/08: [MRESOLVER-88] Convert to use diamond <> (Java 7)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MRESOLVER-88
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit ef3697e60379c4528c70a1ac3289298d07f52068
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri Dec 28 20:40:13 2018 +0100

    [MRESOLVER-88] Convert to use diamond <> (Java 7)
---
 .../org/eclipse/aether/DefaultRepositoryCache.java |  2 +-
 .../aether/DefaultRepositorySystemSession.java     | 10 ++++----
 .../org/eclipse/aether/DefaultSessionData.java     |  2 +-
 .../eclipse/aether/artifact/AbstractArtifact.java  |  2 +-
 .../eclipse/aether/artifact/DefaultArtifact.java   |  2 +-
 .../aether/artifact/DefaultArtifactType.java       |  2 +-
 .../eclipse/aether/collection/CollectRequest.java  |  6 ++---
 .../eclipse/aether/collection/CollectResult.java   |  4 ++--
 .../UnsolvableVersionConflictException.java        |  4 ++--
 .../eclipse/aether/deployment/DeployRequest.java   |  4 ++--
 .../eclipse/aether/deployment/DeployResult.java    |  4 ++--
 .../aether/graph/DefaultDependencyNode.java        | 12 +++++-----
 .../java/org/eclipse/aether/graph/Dependency.java  |  2 +-
 .../aether/installation/InstallRequest.java        |  4 ++--
 .../eclipse/aether/installation/InstallResult.java |  4 ++--
 .../eclipse/aether/metadata/AbstractMetadata.java  |  2 +-
 .../aether/repository/AuthenticationContext.java   |  2 +-
 .../aether/repository/RemoteRepository.java        |  4 ++--
 .../resolution/ArtifactDescriptorRequest.java      |  2 +-
 .../resolution/ArtifactDescriptorResult.java       | 12 +++++-----
 .../eclipse/aether/resolution/ArtifactRequest.java |  2 +-
 .../eclipse/aether/resolution/ArtifactResult.java  |  2 +-
 .../aether/resolution/VersionRangeRequest.java     |  2 +-
 .../aether/resolution/VersionRangeResult.java      |  6 ++---
 .../eclipse/aether/resolution/VersionRequest.java  |  2 +-
 .../eclipse/aether/resolution/VersionResult.java   |  2 +-
 .../eclipse/aether/DefaultRepositoryCacheTest.java |  2 +-
 .../org/eclipse/aether/DefaultSessionDataTest.java |  2 +-
 .../aether/artifact/DefaultArtifactTest.java       |  6 ++---
 .../repository/RemoteRepositoryBuilderTest.java    |  2 +-
 .../aether/connector/basic/ChecksumCalculator.java |  6 ++---
 .../aether/connector/basic/ChecksumValidator.java  |  4 ++--
 .../connector/basic/ChecksumCalculatorTest.java    |  2 +-
 .../connector/basic/ChecksumValidatorTest.java     | 14 +++++------
 .../aether/connector/basic/PartialFileTest.java    |  2 +-
 .../util/ConsoleDependencyGraphDumper.java         |  2 +-
 .../examples/util/ConsoleTransferListener.java     |  2 +-
 .../eclipse/aether/impl/DefaultServiceLocator.java |  8 +++----
 .../internal/impl/ArtifactRequestBuilder.java      |  2 +-
 .../internal/impl/DefaultArtifactResolver.java     | 13 +++++-----
 .../aether/internal/impl/DefaultDeployer.java      | 16 ++++++-------
 .../aether/internal/impl/DefaultInstaller.java     | 10 ++++----
 .../impl/DefaultLocalRepositoryProvider.java       |  9 ++++---
 .../internal/impl/DefaultMetadataResolver.java     | 18 +++++++-------
 .../impl/DefaultRemoteRepositoryManager.java       |  2 +-
 .../impl/DefaultRepositoryConnectorProvider.java   |  9 ++++---
 .../impl/DefaultRepositoryEventDispatcher.java     |  4 ++--
 .../impl/DefaultRepositoryLayoutProvider.java      |  9 ++++---
 .../internal/impl/DefaultTransporterProvider.java  |  8 +++----
 .../internal/impl/DefaultUpdateCheckManager.java   |  6 ++---
 .../impl/EnhancedLocalRepositoryManager.java       |  4 ++--
 .../internal/impl/PrioritizedComponents.java       |  6 ++---
 .../impl/SimpleLocalRepositoryManager.java         |  2 +-
 .../org/eclipse/aether/internal/impl/Utils.java    | 13 +++++-----
 .../impl/collect/CachingArtifactTypeRegistry.java  |  2 +-
 .../impl/collect/DefaultDependencyCollector.java   |  2 +-
 ...efaultDependencyGraphTransformationContext.java |  2 +-
 .../impl/collect/DefaultVersionFilterContext.java  |  2 +-
 .../aether/internal/impl/collect/ObjectPool.java   |  4 ++--
 .../internal/impl/DefaultArtifactResolverTest.java |  8 +++----
 .../impl/DefaultUpdateCheckManagerTest.java        |  4 ++--
 .../internal/impl/DependencyGraphDumper.java       |  6 ++---
 .../internal/impl/PrioritizedComponentTest.java    | 16 ++++++-------
 .../internal/impl/PrioritizedComponentsTest.java   | 12 +++++-----
 .../impl/RecordingRepositoryConnector.java         | 16 ++++++-------
 .../internal/impl/TrackingFileManagerTest.java     |  4 ++--
 .../collect/DefaultDependencyCollectorTest.java    | 12 +++++-----
 .../aether/spi/connector/transport/GetTask.java    |  2 +-
 .../internal/test/util/DependencyGraphParser.java  | 10 ++++----
 .../internal/test/util/IniArtifactDataReader.java  | 10 ++++----
 .../aether/internal/test/util/NodeBuilder.java     |  4 ++--
 .../aether/internal/test/util/NodeDefinition.java  |  4 ++--
 .../TestDependencyGraphTransformationContext.java  |  2 +-
 .../aether/internal/test/util/TestFileUtils.java   |  2 +-
 .../test/util/TestLocalRepositoryManager.java      |  6 ++---
 .../test/util/TestVersionFilterContext.java        |  2 +-
 .../internal/test/util/TestVersionScheme.java      |  2 +-
 .../aether/transport/http/AuthSchemePool.java      |  2 +-
 .../http/DeferredCredentialsProvider.java          |  2 +-
 .../eclipse/aether/transport/http/GlobalState.java |  8 +++----
 .../eclipse/aether/transport/http/LocalState.java  |  2 +-
 .../aether/transport/http/SharingAuthCache.java    |  2 +-
 .../eclipse/aether/transport/http/UriUtils.java    |  2 +-
 .../eclipse/aether/transport/http/HttpServer.java  |  2 +-
 .../aether/transport/http/HttpTransporterTest.java |  6 ++---
 .../aether/transport/http/UriUtilsTest.java        |  2 +-
 .../aether/transport/wagon/WagonTransporter.java   |  2 +-
 .../aether/transport/wagon/MemWagonUtils.java      |  5 ++--
 .../org/eclipse/aether/util/ChecksumUtils.java     |  4 ++--
 .../java/org/eclipse/aether/util/ConfigUtils.java  |  2 +-
 .../util/artifact/SimpleArtifactTypeRegistry.java  |  2 +-
 .../util/concurrency/RunnableErrorForwarder.java   |  2 +-
 .../filter/AbstractPatternDependencyFilter.java    |  2 +-
 .../aether/util/filter/AndDependencyFilter.java    |  2 +-
 .../aether/util/filter/DependencyFilterUtils.java  |  6 ++---
 .../util/filter/ExclusionsDependencyFilter.java    |  2 +-
 .../aether/util/filter/OrDependencyFilter.java     |  2 +-
 .../aether/util/filter/ScopeDependencyFilter.java  |  4 ++--
 .../graph/manager/ClassicDependencyManager.java    | 18 +++++++-------
 .../util/graph/selector/AndDependencySelector.java |  6 ++---
 .../selector/ExclusionDependencySelector.java      |  2 +-
 .../graph/selector/ScopeDependencySelector.java    |  4 ++--
 .../util/graph/transformer/ConflictIdSorter.java   | 16 ++++++-------
 .../util/graph/transformer/ConflictMarker.java     | 10 ++++----
 .../util/graph/transformer/ConflictResolver.java   | 28 +++++++++++-----------
 .../util/graph/transformer/JavaScopeSelector.java  |  2 +-
 .../graph/transformer/NearestVersionSelector.java  |  4 ++--
 .../graph/traverser/AndDependencyTraverser.java    |  6 ++---
 .../AbstractDepthFirstNodeListGenerator.java       | 10 ++++----
 .../graph/visitor/CloningDependencyVisitor.java    |  4 ++--
 .../graph/visitor/FilteringDependencyVisitor.java  |  4 ++--
 .../visitor/PathRecordingDependencyVisitor.java    |  6 ++---
 .../graph/visitor/PostorderNodeListGenerator.java  |  2 +-
 .../util/graph/visitor/TreeDependencyVisitor.java  |  4 ++--
 .../util/listener/ChainedRepositoryListener.java   |  2 +-
 .../util/listener/ChainedTransferListener.java     |  2 +-
 .../util/repository/AuthenticationBuilder.java     |  2 +-
 .../util/repository/ChainedWorkspaceReader.java    |  8 +++----
 .../repository/DefaultAuthenticationSelector.java  |  2 +-
 .../util/repository/DefaultMirrorSelector.java     |  2 +-
 .../util/repository/DefaultProxySelector.java      |  6 ++---
 .../aether/util/version/GenericVersion.java        |  4 ++--
 .../aether/util/version/GenericVersionScheme.java  |  2 +-
 .../aether/util/version/UnionVersionRange.java     |  2 +-
 .../org/eclipse/aether/util/ConfigUtilsTest.java   |  2 +-
 .../aether/util/artifact/SubArtifactTest.java      |  2 +-
 .../util/filter/AndDependencyFilterTest.java       |  8 +++----
 .../util/filter/ExclusionDependencyFilterTest.java |  2 +-
 .../aether/util/filter/OrDependencyFilterTest.java |  6 ++---
 .../PatternExclusionsDependencyFilterTest.java     |  2 +-
 .../PatternInclusionsDependencyFilterTest.java     |  2 +-
 .../util/filter/ScopeDependencyFilterTest.java     |  2 +-
 .../AbstractDependencyGraphTransformerTest.java    |  2 +-
 .../graph/transformer/ConflictIdSorterTest.java    |  2 +-
 .../graph/transformer/SimpleConflictMarker.java    |  2 +-
 135 files changed, 332 insertions(+), 340 deletions(-)

diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositoryCache.java b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositoryCache.java
index b645f43..18e28f0 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositoryCache.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositoryCache.java
@@ -30,7 +30,7 @@ public final class DefaultRepositoryCache
     implements RepositoryCache
 {
 
-    private final Map<Object, Object> cache = new ConcurrentHashMap<Object, Object>( 256 );
+    private final Map<Object, Object> cache = new ConcurrentHashMap<>( 256 );
 
     public Object get( RepositorySystemSession session, Object key )
     {
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
index 0335118..65102f9 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultRepositorySystemSession.java
@@ -127,11 +127,11 @@ public final class DefaultRepositorySystemSession
      */
     public DefaultRepositorySystemSession()
     {
-        systemProperties = new HashMap<String, String>();
+        systemProperties = new HashMap<>();
         systemPropertiesView = Collections.unmodifiableMap( systemProperties );
-        userProperties = new HashMap<String, String>();
+        userProperties = new HashMap<>();
         userPropertiesView = Collections.unmodifiableMap( userProperties );
-        configProperties = new HashMap<String, Object>();
+        configProperties = new HashMap<>();
         configPropertiesView = Collections.unmodifiableMap( configProperties );
         mirrorSelector = NullMirrorSelector.INSTANCE;
         proxySelector = NullProxySelector.INSTANCE;
@@ -403,11 +403,11 @@ public final class DefaultRepositorySystemSession
         Map<String, T> map;
         if ( table == null || table.isEmpty() )
         {
-            map = new HashMap<String, T>();
+            map = new HashMap<>();
         }
         else
         {
-            map = new HashMap<String, T>( (int) ( table.size() / 0.75f ) + 1 );
+            map = new HashMap<>( (int) ( table.size() / 0.75f ) + 1 );
             for ( Map.Entry<?, ?> entry : table.entrySet() )
             {
                 Object key = entry.getKey();
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
index 3c2a76e..c9e07fb 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
@@ -35,7 +35,7 @@ public final class DefaultSessionData
 
     public DefaultSessionData()
     {
-        data = new ConcurrentHashMap<Object, Object>();
+        data = new ConcurrentHashMap<>();
     }
 
     public void set( Object key, Object value )
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/AbstractArtifact.java b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/AbstractArtifact.java
index d89260b..7f065cd 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/AbstractArtifact.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/AbstractArtifact.java
@@ -149,7 +149,7 @@ public abstract class AbstractArtifact
     {
         if ( properties != null && !properties.isEmpty() )
         {
-            return Collections.unmodifiableMap( new HashMap<String, String>( properties ) );
+            return Collections.unmodifiableMap( new HashMap<>( properties ) );
         }
         else
         {
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifact.java b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifact.java
index 0fdb62c..bbaf157 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifact.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifact.java
@@ -197,7 +197,7 @@ public final class DefaultArtifact
         }
         else
         {
-            properties = new HashMap<String, String>();
+            properties = new HashMap<>();
             if ( recessive != null )
             {
                 properties.putAll( recessive );
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifactType.java b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifactType.java
index 5ae6daa..5d23aa2 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifactType.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/DefaultArtifactType.java
@@ -91,7 +91,7 @@ public final class DefaultArtifactType
         }
         this.extension = emptify( extension );
         this.classifier = emptify( classifier );
-        Map<String, String> props = new HashMap<String, String>();
+        Map<String, String> props = new HashMap<>();
         props.put( ArtifactProperties.TYPE, id );
         props.put( ArtifactProperties.LANGUAGE, ( language != null && language.length() > 0 ) ? language : "none" );
         props.put( ArtifactProperties.INCLUDES_DEPENDENCIES, Boolean.toString( includesDependencies ) );
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
index d9c2527..5043575 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
@@ -199,7 +199,7 @@ public final class CollectRequest
         {
             if ( this.dependencies.isEmpty() )
             {
-                this.dependencies = new ArrayList<Dependency>();
+                this.dependencies = new ArrayList<>();
             }
             this.dependencies.add( dependency );
         }
@@ -248,7 +248,7 @@ public final class CollectRequest
         {
             if ( this.managedDependencies.isEmpty() )
             {
-                this.managedDependencies = new ArrayList<Dependency>();
+                this.managedDependencies = new ArrayList<>();
             }
             this.managedDependencies.add( managedDependency );
         }
@@ -296,7 +296,7 @@ public final class CollectRequest
         {
             if ( this.repositories.isEmpty() )
             {
-                this.repositories = new ArrayList<RemoteRepository>();
+                this.repositories = new ArrayList<>();
             }
             this.repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectResult.java
index 53ebae4..7922d9b 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/CollectResult.java
@@ -89,7 +89,7 @@ public final class CollectResult
         {
             if ( exceptions.isEmpty() )
             {
-                exceptions = new ArrayList<Exception>();
+                exceptions = new ArrayList<>();
             }
             exceptions.add( exception );
         }
@@ -118,7 +118,7 @@ public final class CollectResult
         {
             if ( cycles.isEmpty() )
             {
-                cycles = new ArrayList<DependencyCycle>();
+                cycles = new ArrayList<>();
             }
             cycles.add( cycle );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/UnsolvableVersionConflictException.java b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/UnsolvableVersionConflictException.java
index 54a7004..81353ac 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/UnsolvableVersionConflictException.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/UnsolvableVersionConflictException.java
@@ -57,7 +57,7 @@ public class UnsolvableVersionConflictException
         else
         {
             this.paths = paths;
-            this.versions = new LinkedHashSet<String>();
+            this.versions = new LinkedHashSet<>();
             for ( List<? extends DependencyNode> path : paths )
             {
                 VersionConstraint constraint = path.get( path.size() - 1 ).getVersionConstraint();
@@ -75,7 +75,7 @@ public class UnsolvableVersionConflictException
 
         if ( paths != null )
         {
-            Collection<String> strings = new LinkedHashSet<String>();
+            Collection<String> strings = new LinkedHashSet<>();
 
             for ( List<? extends DependencyNode> path : paths )
             {
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
index 637f47d..2472c6d 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
@@ -94,7 +94,7 @@ public final class DeployRequest
         {
             if ( artifacts.isEmpty() )
             {
-                artifacts = new ArrayList<Artifact>();
+                artifacts = new ArrayList<>();
             }
             artifacts.add( artifact );
         }
@@ -142,7 +142,7 @@ public final class DeployRequest
         {
             if ( this.metadata.isEmpty() )
             {
-                this.metadata = new ArrayList<Metadata>();
+                this.metadata = new ArrayList<>();
             }
             this.metadata.add( metadata );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployResult.java
index 823f671..87e35ba 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployResult.java
@@ -106,7 +106,7 @@ public final class DeployResult
         {
             if ( artifacts.isEmpty() )
             {
-                artifacts = new ArrayList<Artifact>();
+                artifacts = new ArrayList<>();
             }
             artifacts.add( artifact );
         }
@@ -155,7 +155,7 @@ public final class DeployResult
         {
             if ( this.metadata.isEmpty() )
             {
-                this.metadata = new ArrayList<Metadata>();
+                this.metadata = new ArrayList<>();
             }
             this.metadata.add( metadata );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/graph/DefaultDependencyNode.java b/maven-resolver-api/src/main/java/org/eclipse/aether/graph/DefaultDependencyNode.java
index ca142fa..c0c767a 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/graph/DefaultDependencyNode.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/graph/DefaultDependencyNode.java
@@ -70,7 +70,7 @@ public final class DefaultDependencyNode
     {
         this.dependency = dependency;
         artifact = ( dependency != null ) ? dependency.getArtifact() : null;
-        children = new ArrayList<DependencyNode>( 0 );
+        children = new ArrayList<>( 0 );
         aliases = relocations = Collections.emptyList();
         repositories = Collections.emptyList();
         context = "";
@@ -87,7 +87,7 @@ public final class DefaultDependencyNode
     public DefaultDependencyNode( Artifact artifact )
     {
         this.artifact = artifact;
-        children = new ArrayList<DependencyNode>( 0 );
+        children = new ArrayList<>( 0 );
         aliases = relocations = Collections.emptyList();
         repositories = Collections.emptyList();
         context = "";
@@ -104,7 +104,7 @@ public final class DefaultDependencyNode
     {
         dependency = node.getDependency();
         artifact = node.getArtifact();
-        children = new ArrayList<DependencyNode>( 0 );
+        children = new ArrayList<>( 0 );
         setAliases( node.getAliases() );
         setRequestContext( node.getRequestContext() );
         setManagedBits( node.getManagedBits() );
@@ -113,7 +113,7 @@ public final class DefaultDependencyNode
         setVersion( node.getVersion() );
         setVersionConstraint( node.getVersionConstraint() );
         Map<?, ?> data = node.getData();
-        setData( data.isEmpty() ? null : new HashMap<Object, Object>( data ) );
+        setData( data.isEmpty() ? null : new HashMap<>( data ) );
     }
 
     public List<DependencyNode> getChildren()
@@ -125,7 +125,7 @@ public final class DefaultDependencyNode
     {
         if ( children == null )
         {
-            this.children = new ArrayList<DependencyNode>( 0 );
+            this.children = new ArrayList<>( 0 );
         }
         else
         {
@@ -330,7 +330,7 @@ public final class DefaultDependencyNode
         {
             if ( data.isEmpty() )
             {
-                data = new HashMap<Object, Object>( 1, 2 ); // nodes can be numerous so let's be space conservative
+                data = new HashMap<>( 1, 2 ); // nodes can be numerous so let's be space conservative
             }
             data.put( key, value );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/graph/Dependency.java b/maven-resolver-api/src/main/java/org/eclipse/aether/graph/Dependency.java
index 2e1a78b..039b8fa 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/graph/Dependency.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/graph/Dependency.java
@@ -276,7 +276,7 @@ public final class Dependency
         {
             if ( exclusions.size() > 1 && !( exclusions instanceof Set ) )
             {
-                exclusions = new LinkedHashSet<Exclusion>( exclusions );
+                exclusions = new LinkedHashSet<>( exclusions );
             }
             this.exclusions = exclusions.toArray( new Exclusion[exclusions.size()] );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallRequest.java
index f9b3163..1fa458d 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallRequest.java
@@ -91,7 +91,7 @@ public final class InstallRequest
         {
             if ( artifacts.isEmpty() )
             {
-                artifacts = new ArrayList<Artifact>();
+                artifacts = new ArrayList<>();
             }
             artifacts.add( artifact );
         }
@@ -139,7 +139,7 @@ public final class InstallRequest
         {
             if ( this.metadata.isEmpty() )
             {
-                this.metadata = new ArrayList<Metadata>();
+                this.metadata = new ArrayList<>();
             }
             this.metadata.add( metadata );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallResult.java
index 2f79023..e749933 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/installation/InstallResult.java
@@ -106,7 +106,7 @@ public final class InstallResult
         {
             if ( artifacts.isEmpty() )
             {
-                artifacts = new ArrayList<Artifact>();
+                artifacts = new ArrayList<>();
             }
             artifacts.add( artifact );
         }
@@ -155,7 +155,7 @@ public final class InstallResult
         {
             if ( this.metadata.isEmpty() )
             {
-                this.metadata = new ArrayList<Metadata>();
+                this.metadata = new ArrayList<>();
             }
             this.metadata.add( metadata );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/AbstractMetadata.java b/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/AbstractMetadata.java
index 49dab35..66dab74 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/AbstractMetadata.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/AbstractMetadata.java
@@ -74,7 +74,7 @@ public abstract class AbstractMetadata
     {
         if ( properties != null && !properties.isEmpty() )
         {
-            return Collections.unmodifiableMap( new HashMap<String, String>( properties ) );
+            return Collections.unmodifiableMap( new HashMap<>( properties ) );
         }
         else
         {
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
index 93bcdce..98a1f9a 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
@@ -184,7 +184,7 @@ public final class AuthenticationContext
         this.repository = repository;
         this.proxy = proxy;
         this.auth = auth;
-        authData = new HashMap<String, Object>();
+        authData = new HashMap<>();
     }
 
     /**
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/repository/RemoteRepository.java b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/RemoteRepository.java
index 5915312..75aa03b 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/repository/RemoteRepository.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/RemoteRepository.java
@@ -511,7 +511,7 @@ public final class RemoteRepository
         {
             if ( this.mirroredRepositories == null )
             {
-                this.mirroredRepositories = new ArrayList<RemoteRepository>();
+                this.mirroredRepositories = new ArrayList<>();
             }
             else
             {
@@ -542,7 +542,7 @@ public final class RemoteRepository
             {
                 if ( this.mirroredRepositories == null )
                 {
-                    this.mirroredRepositories = new ArrayList<RemoteRepository>();
+                    this.mirroredRepositories = new ArrayList<>();
                     if ( prototype != null )
                     {
                         mirroredRepositories.addAll( prototype.getMirroredRepositories() );
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorRequest.java
index 387b1dc..dd94117 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorRequest.java
@@ -130,7 +130,7 @@ public final class ArtifactDescriptorRequest
         {
             if ( this.repositories.isEmpty() )
             {
-                this.repositories = new ArrayList<RemoteRepository>();
+                this.repositories = new ArrayList<>();
             }
             this.repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorResult.java
index 3d0edd2..0af4f6f 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactDescriptorResult.java
@@ -129,7 +129,7 @@ public final class ArtifactDescriptorResult
         {
             if ( exceptions.isEmpty() )
             {
-                exceptions = new ArrayList<Exception>();
+                exceptions = new ArrayList<>();
             }
             exceptions.add( exception );
         }
@@ -178,7 +178,7 @@ public final class ArtifactDescriptorResult
         {
             if ( relocations.isEmpty() )
             {
-                relocations = new ArrayList<Artifact>();
+                relocations = new ArrayList<>();
             }
             relocations.add( artifact );
         }
@@ -228,7 +228,7 @@ public final class ArtifactDescriptorResult
         {
             if ( aliases.isEmpty() )
             {
-                aliases = new ArrayList<Artifact>();
+                aliases = new ArrayList<>();
             }
             aliases.add( alias );
         }
@@ -321,7 +321,7 @@ public final class ArtifactDescriptorResult
         {
             if ( dependencies.isEmpty() )
             {
-                dependencies = new ArrayList<Dependency>();
+                dependencies = new ArrayList<>();
             }
             dependencies.add( dependency );
         }
@@ -369,7 +369,7 @@ public final class ArtifactDescriptorResult
         {
             if ( managedDependencies.isEmpty() )
             {
-                managedDependencies = new ArrayList<Dependency>();
+                managedDependencies = new ArrayList<>();
             }
             managedDependencies.add( dependency );
         }
@@ -417,7 +417,7 @@ public final class ArtifactDescriptorResult
         {
             if ( repositories.isEmpty() )
             {
-                repositories = new ArrayList<RemoteRepository>();
+                repositories = new ArrayList<>();
             }
             repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
index a220207..85832ef 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
@@ -172,7 +172,7 @@ public final class ArtifactRequest
         {
             if ( this.repositories.isEmpty() )
             {
-                this.repositories = new ArrayList<RemoteRepository>();
+                this.repositories = new ArrayList<>();
             }
             this.repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactResult.java
index 5057855..cfbb6b7 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactResult.java
@@ -116,7 +116,7 @@ public final class ArtifactResult
         {
             if ( exceptions.isEmpty() )
             {
-                exceptions = new ArrayList<Exception>();
+                exceptions = new ArrayList<>();
             }
             exceptions.add( exception );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeRequest.java
index d6aa16b..e98e24d 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeRequest.java
@@ -130,7 +130,7 @@ public final class VersionRangeRequest
         {
             if ( this.repositories.isEmpty() )
             {
-                this.repositories = new ArrayList<RemoteRepository>();
+                this.repositories = new ArrayList<>();
             }
             this.repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeResult.java
index 8af78ea..763881e 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRangeResult.java
@@ -95,7 +95,7 @@ public final class VersionRangeResult
         {
             if ( exceptions.isEmpty() )
             {
-                exceptions = new ArrayList<Exception>();
+                exceptions = new ArrayList<>();
             }
             exceptions.add( exception );
         }
@@ -122,7 +122,7 @@ public final class VersionRangeResult
     {
         if ( versions.isEmpty() )
         {
-            versions = new ArrayList<Version>();
+            versions = new ArrayList<>();
         }
         versions.add( version );
         return this;
@@ -199,7 +199,7 @@ public final class VersionRangeResult
         {
             if ( repositories.isEmpty() )
             {
-                repositories = new HashMap<Version, ArtifactRepository>();
+                repositories = new HashMap<>();
             }
             repositories.put( version, repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRequest.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRequest.java
index 3dde7dd..e1a8107 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRequest.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionRequest.java
@@ -130,7 +130,7 @@ public final class VersionRequest
         {
             if ( this.repositories.isEmpty() )
             {
-                this.repositories = new ArrayList<RemoteRepository>();
+                this.repositories = new ArrayList<>();
             }
             this.repositories.add( repository );
         }
diff --git a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResult.java b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResult.java
index 486a287..fc33fae 100644
--- a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResult.java
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResult.java
@@ -87,7 +87,7 @@ public final class VersionResult
         {
             if ( exceptions.isEmpty() )
             {
-                exceptions = new ArrayList<Exception>();
+                exceptions = new ArrayList<>();
             }
             exceptions.add( exception );
         }
diff --git a/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultRepositoryCacheTest.java b/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultRepositoryCacheTest.java
index 067320e..19648dc 100644
--- a/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultRepositoryCacheTest.java
+++ b/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultRepositoryCacheTest.java
@@ -72,7 +72,7 @@ public class DefaultRepositoryCacheTest
     public void testConcurrency()
         throws Exception
     {
-        final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
+        final AtomicReference<Throwable> error = new AtomicReference<>();
         Thread threads[] = new Thread[20];
         for ( int i = 0; i < threads.length; i++ )
         {
diff --git a/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultSessionDataTest.java b/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultSessionDataTest.java
index 3b886e5..a88c254 100644
--- a/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultSessionDataTest.java
+++ b/maven-resolver-api/src/test/java/org/eclipse/aether/DefaultSessionDataTest.java
@@ -98,7 +98,7 @@ public class DefaultSessionDataTest
     public void testConcurrency()
         throws Exception
     {
-        final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
+        final AtomicReference<Throwable> error = new AtomicReference<>();
         Thread threads[] = new Thread[20];
         for ( int i = 0; i < threads.length; i++ )
         {
diff --git a/maven-resolver-api/src/test/java/org/eclipse/aether/artifact/DefaultArtifactTest.java b/maven-resolver-api/src/test/java/org/eclipse/aether/artifact/DefaultArtifactTest.java
index 49773ab..7aec3e4 100644
--- a/maven-resolver-api/src/test/java/org/eclipse/aether/artifact/DefaultArtifactTest.java
+++ b/maven-resolver-api/src/test/java/org/eclipse/aether/artifact/DefaultArtifactTest.java
@@ -132,7 +132,7 @@ public class DefaultArtifactTest
         assertEquals( "true", a.getProperties().get( ArtifactProperties.INCLUDES_DEPENDENCIES ) );
         assertEquals( "true", a.getProperties().get( ArtifactProperties.CONSTITUTES_BUILD_PATH ) );
 
-        Map<String, String> props = new HashMap<String, String>();
+        Map<String, String> props = new HashMap<>();
         props.put( "someNonStandardProperty", "someNonStandardProperty" );
         a = new DefaultArtifact( "gid", "aid", "cls", "ext", "ver", props, type );
         assertEquals( "ext", a.getExtension() );
@@ -143,7 +143,7 @@ public class DefaultArtifactTest
         assertEquals( "true", a.getProperties().get( ArtifactProperties.CONSTITUTES_BUILD_PATH ) );
         assertEquals( "someNonStandardProperty", a.getProperties().get( "someNonStandardProperty" ) );
 
-        props = new HashMap<String, String>();
+        props = new HashMap<>();
         props.put( "someNonStandardProperty", "someNonStandardProperty" );
         props.put( ArtifactProperties.CONSTITUTES_BUILD_PATH, "rubbish" );
         props.put( ArtifactProperties.INCLUDES_DEPENDENCIES, "rubbish" );
@@ -160,7 +160,7 @@ public class DefaultArtifactTest
     @Test
     public void testPropertiesCopied()
     {
-        Map<String, String> props = new HashMap<String, String>();
+        Map<String, String> props = new HashMap<>();
         props.put( "key", "value1" );
 
         Artifact a = new DefaultArtifact( "gid:aid:1", props );
diff --git a/maven-resolver-api/src/test/java/org/eclipse/aether/repository/RemoteRepositoryBuilderTest.java b/maven-resolver-api/src/test/java/org/eclipse/aether/repository/RemoteRepositoryBuilderTest.java
index e2c15e3..0d6b190 100644
--- a/maven-resolver-api/src/test/java/org/eclipse/aether/repository/RemoteRepositoryBuilderTest.java
+++ b/maven-resolver-api/src/test/java/org/eclipse/aether/repository/RemoteRepositoryBuilderTest.java
@@ -157,7 +157,7 @@ public class RemoteRepositoryBuilderTest
         Builder builder = new Builder( prototype );
         RemoteRepository repo = builder.setMirroredRepositories( prototype.getMirroredRepositories() ).build();
         assertSame( prototype, repo );
-        List<RemoteRepository> mirrored = new ArrayList<RemoteRepository>( Arrays.asList( repo ) );
+        List<RemoteRepository> mirrored = new ArrayList<>( Arrays.asList( repo ) );
         repo = builder.setMirroredRepositories( mirrored ).build();
         assertEquals( mirrored, repo.getMirroredRepositories() );
     }
diff --git a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumCalculator.java b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumCalculator.java
index 8b907c0..e5a1780 100644
--- a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumCalculator.java
+++ b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumCalculator.java
@@ -117,8 +117,8 @@ final class ChecksumCalculator
 
     private ChecksumCalculator( File targetFile, Collection<RepositoryLayout.Checksum> checksums )
     {
-        this.checksums = new ArrayList<Checksum>();
-        Set<String> algos = new HashSet<String>();
+        this.checksums = new ArrayList<>();
+        Set<String> algos = new HashSet<>();
         for ( RepositoryLayout.Checksum checksum : checksums )
         {
             String algo = checksum.getAlgorithm();
@@ -207,7 +207,7 @@ final class ChecksumCalculator
 
     public Map<String, Object> get()
     {
-        Map<String, Object> results = new HashMap<String, Object>();
+        Map<String, Object> results = new HashMap<>();
         for ( Checksum checksum : checksums )
         {
             results.put( checksum.algorithm, checksum.get() );
diff --git a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumValidator.java b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumValidator.java
index d3db262..be0f9c0 100644
--- a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumValidator.java
+++ b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/ChecksumValidator.java
@@ -72,12 +72,12 @@ final class ChecksumValidator
                               Collection<Checksum> checksums )
     {
         this.dataFile = dataFile;
-        this.tempFiles = new HashSet<File>();
+        this.tempFiles = new HashSet<>();
         this.fileProcessor = fileProcessor;
         this.checksumFetcher = checksumFetcher;
         this.checksumPolicy = checksumPolicy;
         this.checksums = checksums;
-        checksumFiles = new HashMap<File, Object>();
+        checksumFiles = new HashMap<>();
     }
 
     public ChecksumCalculator newChecksumCalculator( File targetFile )
diff --git a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumCalculatorTest.java b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumCalculatorTest.java
index 993f94d..b0921e1 100644
--- a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumCalculatorTest.java
+++ b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumCalculatorTest.java
@@ -47,7 +47,7 @@ public class ChecksumCalculatorTest
 
     private ChecksumCalculator newCalculator( String... algos )
     {
-        List<RepositoryLayout.Checksum> checksums = new ArrayList<RepositoryLayout.Checksum>();
+        List<RepositoryLayout.Checksum> checksums = new ArrayList<>();
         for ( String algo : algos )
         {
             checksums.add( new RepositoryLayout.Checksum( algo, URI.create( "irrelevant" ) ) );
diff --git a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumValidatorTest.java b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumValidatorTest.java
index 6d36efa..f531509 100644
--- a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumValidatorTest.java
+++ b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/ChecksumValidatorTest.java
@@ -50,7 +50,7 @@ public class ChecksumValidatorTest
 
         boolean tolerateFailure;
 
-        private List<String> callbacks = new ArrayList<String>();
+        private List<String> callbacks = new ArrayList<>();
 
         private Object conclusion;
 
@@ -122,11 +122,11 @@ public class ChecksumValidatorTest
         implements ChecksumValidator.ChecksumFetcher
     {
 
-        Map<URI, Object> checksums = new HashMap<URI, Object>();
+        Map<URI, Object> checksums = new HashMap<>();
 
-        List<File> checksumFiles = new ArrayList<File>();
+        List<File> checksumFiles = new ArrayList<>();
 
-        private List<URI> fetchedFiles = new ArrayList<URI>();
+        private List<URI> fetchedFiles = new ArrayList<>();
 
         public boolean fetchChecksum( URI remote, File local )
             throws Exception
@@ -153,7 +153,7 @@ public class ChecksumValidatorTest
 
         void assertFetchedFiles( String... algos )
         {
-            List<URI> expected = new ArrayList<URI>();
+            List<URI> expected = new ArrayList<>();
             for ( String algo : algos )
             {
                 expected.add( toUri( algo ) );
@@ -185,7 +185,7 @@ public class ChecksumValidatorTest
 
     private List<RepositoryLayout.Checksum> newChecksums( String... algos )
     {
-        List<RepositoryLayout.Checksum> checksums = new ArrayList<RepositoryLayout.Checksum>();
+        List<RepositoryLayout.Checksum> checksums = new ArrayList<>();
         for ( String algo : algos )
         {
             checksums.add( newChecksum( algo ) );
@@ -200,7 +200,7 @@ public class ChecksumValidatorTest
 
     private Map<String, ?> checksums( String... algoDigestPairs )
     {
-        Map<String, Object> checksums = new LinkedHashMap<String, Object>();
+        Map<String, Object> checksums = new LinkedHashMap<>();
         for ( int i = 0; i < algoDigestPairs.length; i += 2 )
         {
             String algo = algoDigestPairs[i];
diff --git a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/PartialFileTest.java b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/PartialFileTest.java
index b1e8e4d..bb6530e 100644
--- a/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/PartialFileTest.java
+++ b/maven-resolver-connector-basic/src/test/java/org/eclipse/aether/connector/basic/PartialFileTest.java
@@ -224,7 +224,7 @@ public class PartialFileTest
     public void init()
         throws Exception
     {
-        closeables = new ArrayList<Closeable>();
+        closeables = new ArrayList<>();
         remoteAccessChecker = new StubRemoteAccessChecker();
         dstFile = TestFileUtils.createTempFile( "Hello World!" );
         partFile = new File( dstFile.getPath() + PartialFile.EXT_PART );
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleDependencyGraphDumper.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleDependencyGraphDumper.java
index ef33ec2..58e0c79 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleDependencyGraphDumper.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleDependencyGraphDumper.java
@@ -41,7 +41,7 @@ public class ConsoleDependencyGraphDumper
 
     private PrintStream out;
 
-    private List<ChildInfo> childInfos = new ArrayList<ChildInfo>();
+    private List<ChildInfo> childInfos = new ArrayList<>();
 
     public ConsoleDependencyGraphDumper()
     {
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
index 3b3c959..dec8c61 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/ConsoleTransferListener.java
@@ -40,7 +40,7 @@ public class ConsoleTransferListener
 
     private PrintStream out;
 
-    private Map<TransferResource, Long> downloads = new ConcurrentHashMap<TransferResource, Long>();
+    private Map<TransferResource, Long> downloads = new ConcurrentHashMap<>();
 
     private int lastLength;
 
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java
index 37f73e8..28765d5 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/impl/DefaultServiceLocator.java
@@ -92,7 +92,7 @@ public final class DefaultServiceLocator
         Entry( Class<T> type )
         {
             this.type = requireNonNull( type, "service type cannot be null" );
-            providers = new LinkedHashSet<Object>( 8 );
+            providers = new LinkedHashSet<>( 8 );
         }
 
         public synchronized void setServices( T... services )
@@ -130,7 +130,7 @@ public final class DefaultServiceLocator
         {
             if ( instances == null )
             {
-                instances = new ArrayList<T>( providers.size() );
+                instances = new ArrayList<>( providers.size() );
                 for ( Object provider : providers )
                 {
                     T instance;
@@ -192,7 +192,7 @@ public final class DefaultServiceLocator
      */
     public DefaultServiceLocator()
     {
-        entries = new HashMap<Class<?>, Entry<?>>();
+        entries = new HashMap<>();
 
         addService( RepositorySystem.class, DefaultRepositorySystem.class );
         addService( ArtifactResolver.class, DefaultArtifactResolver.class );
@@ -224,7 +224,7 @@ public final class DefaultServiceLocator
         Entry<T> entry = (Entry<T>) entries.get( requireNonNull( type, "service type cannot be null" ) );
         if ( entry == null && create )
         {
-            entry = new Entry<T>( type );
+            entry = new Entry<>( type );
             entries.put( type, entry );
         }
         return entry;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/ArtifactRequestBuilder.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/ArtifactRequestBuilder.java
index 85102f4..9e04e82 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/ArtifactRequestBuilder.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/ArtifactRequestBuilder.java
@@ -40,7 +40,7 @@ class ArtifactRequestBuilder
     ArtifactRequestBuilder( RequestTrace trace )
     {
         this.trace = trace;
-        this.requests = new ArrayList<ArtifactRequest>();
+        this.requests = new ArrayList<>();
     }
 
     public List<ArtifactRequest> getRequests()
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
index bed0930..3b358a8 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultArtifactResolver.java
@@ -210,7 +210,7 @@ public class DefaultArtifactResolver
 
         try
         {
-            Collection<Artifact> artifacts = new ArrayList<Artifact>( requests.size() );
+            Collection<Artifact> artifacts = new ArrayList<>( requests.size() );
             for ( ArtifactRequest request : requests )
             {
                 if ( request.getArtifact().getProperty( ArtifactProperties.LOCAL_PATH, null ) != null )
@@ -234,13 +234,13 @@ public class DefaultArtifactResolver
                                           Collection<? extends ArtifactRequest> requests )
         throws ArtifactResolutionException
     {
-        List<ArtifactResult> results = new ArrayList<ArtifactResult>( requests.size() );
+        List<ArtifactResult> results = new ArrayList<>( requests.size() );
         boolean failures = false;
 
         LocalRepositoryManager lrm = session.getLocalRepositoryManager();
         WorkspaceReader workspace = session.getWorkspaceReader();
 
-        List<ResolutionGroup> groups = new ArrayList<ResolutionGroup>();
+        List<ResolutionGroup> groups = new ArrayList<>();
 
         for ( ArtifactRequest request : requests )
         {
@@ -517,7 +517,7 @@ public class DefaultArtifactResolver
     private List<ArtifactDownload> gatherDownloads( RepositorySystemSession session, ResolutionGroup group )
     {
         LocalRepositoryManager lrm = session.getLocalRepositoryManager();
-        List<ArtifactDownload> downloads = new ArrayList<ArtifactDownload>();
+        List<ArtifactDownload> downloads = new ArrayList<>();
 
         for ( ResolutionItem item : group.items )
         {
@@ -553,8 +553,7 @@ public class DefaultArtifactResolver
             int errorPolicy = Utils.getPolicy( session, artifact, group.repository );
             if ( ( errorPolicy & ResolutionErrorPolicy.CACHE_ALL ) != 0 )
             {
-                UpdateCheck<Artifact, ArtifactTransferException> check =
-                    new UpdateCheck<Artifact, ArtifactTransferException>();
+                UpdateCheck<Artifact, ArtifactTransferException> check = new UpdateCheck<>();
                 check.setItem( artifact );
                 check.setFile( download.getFile() );
                 check.setFileValid( false );
@@ -689,7 +688,7 @@ public class DefaultArtifactResolver
 
         final RemoteRepository repository;
 
-        final List<ResolutionItem> items = new ArrayList<ResolutionItem>();
+        final List<ResolutionItem> items = new ArrayList<>();
 
         ResolutionGroup( RemoteRepository repository )
         {
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
index 31edb44..ad32772 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDeployer.java
@@ -90,7 +90,7 @@ public class DefaultDeployer
 
     private UpdateCheckManager updateCheckManager;
 
-    private Collection<MetadataGeneratorFactory> metadataFactories = new ArrayList<MetadataGeneratorFactory>();
+    private Collection<MetadataGeneratorFactory> metadataFactories = new ArrayList<>();
 
     private SyncContextFactory syncContextFactory;
 
@@ -170,7 +170,7 @@ public class DefaultDeployer
     {
         if ( metadataFactories == null )
         {
-            this.metadataFactories = new ArrayList<MetadataGeneratorFactory>();
+            this.metadataFactories = new ArrayList<>();
         }
         else
         {
@@ -241,13 +241,13 @@ public class DefaultDeployer
 
             FileTransformerManager fileTransformerManager = session.getFileTransformerManager();
 
-            List<ArtifactUpload> artifactUploads = new ArrayList<ArtifactUpload>();
-            List<MetadataUpload> metadataUploads = new ArrayList<MetadataUpload>();
-            IdentityHashMap<Metadata, Object> processedMetadata = new IdentityHashMap<Metadata, Object>();
+            List<ArtifactUpload> artifactUploads = new ArrayList<>();
+            List<MetadataUpload> metadataUploads = new ArrayList<>();
+            IdentityHashMap<Metadata, Object> processedMetadata = new IdentityHashMap<>();
 
             EventCatapult catapult = new EventCatapult( session, trace, repository, repositoryEventDispatcher );
 
-            List<Artifact> artifacts = new ArrayList<Artifact>( request.getArtifacts() );
+            List<Artifact> artifacts = new ArrayList<>( request.getArtifacts() );
 
             List<Metadata> metadatas = Utils.prepareMetadata( generators, artifacts );
 
@@ -349,7 +349,7 @@ public class DefaultDeployer
         PrioritizedComponents<MetadataGeneratorFactory> factories =
             Utils.sortMetadataGeneratorFactories( session, this.metadataFactories );
 
-        List<MetadataGenerator> generators = new ArrayList<MetadataGenerator>();
+        List<MetadataGenerator> generators = new ArrayList<>();
 
         for ( PrioritizedComponent<MetadataGeneratorFactory> factory : factories.getEnabled() )
         {
@@ -458,7 +458,7 @@ public class DefaultDeployer
             }
         }
 
-        UpdateCheck<Metadata, MetadataTransferException> check = new UpdateCheck<Metadata, MetadataTransferException>();
+        UpdateCheck<Metadata, MetadataTransferException> check = new UpdateCheck<>();
         check.setItem( metadata );
         check.setFile( dstFile );
         check.setRepository( repository );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
index a517d74..4150ea4 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultInstaller.java
@@ -71,7 +71,7 @@ public class DefaultInstaller
 
     private RepositoryEventDispatcher repositoryEventDispatcher;
 
-    private Collection<MetadataGeneratorFactory> metadataFactories = new ArrayList<MetadataGeneratorFactory>();
+    private Collection<MetadataGeneratorFactory> metadataFactories = new ArrayList<>();
 
     private SyncContextFactory syncContextFactory;
 
@@ -120,7 +120,7 @@ public class DefaultInstaller
     {
         if ( metadataFactories == null )
         {
-            this.metadataFactories = new ArrayList<MetadataGeneratorFactory>();
+            this.metadataFactories = new ArrayList<>();
         }
         else
         {
@@ -159,9 +159,9 @@ public class DefaultInstaller
 
         List<? extends MetadataGenerator> generators = getMetadataGenerators( session, request );
 
-        List<Artifact> artifacts = new ArrayList<Artifact>( request.getArtifacts() );
+        List<Artifact> artifacts = new ArrayList<>( request.getArtifacts() );
 
-        IdentityHashMap<Metadata, Object> processedMetadata = new IdentityHashMap<Metadata, Object>();
+        IdentityHashMap<Metadata, Object> processedMetadata = new IdentityHashMap<>();
 
         List<Metadata> metadatas = Utils.prepareMetadata( generators, artifacts );
 
@@ -218,7 +218,7 @@ public class DefaultInstaller
         PrioritizedComponents<MetadataGeneratorFactory> factories =
             Utils.sortMetadataGeneratorFactories( session, this.metadataFactories );
 
-        List<MetadataGenerator> generators = new ArrayList<MetadataGenerator>();
+        List<MetadataGenerator> generators = new ArrayList<>();
 
         for ( PrioritizedComponent<MetadataGeneratorFactory> factory : factories.getEnabled() )
         {
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
index 6c80e4b..cb7772d 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultLocalRepositoryProvider.java
@@ -48,7 +48,7 @@ public class DefaultLocalRepositoryProvider
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultLocalRepositoryProvider.class );
 
-    private Collection<LocalRepositoryManagerFactory> managerFactories = new ArrayList<LocalRepositoryManagerFactory>();
+    private Collection<LocalRepositoryManagerFactory> managerFactories = new ArrayList<>();
 
     public DefaultLocalRepositoryProvider()
     {
@@ -76,7 +76,7 @@ public class DefaultLocalRepositoryProvider
     {
         if ( factories == null )
         {
-            managerFactories = new ArrayList<LocalRepositoryManagerFactory>( 2 );
+            managerFactories = new ArrayList<>( 2 );
         }
         else
         {
@@ -88,14 +88,13 @@ public class DefaultLocalRepositoryProvider
     public LocalRepositoryManager newLocalRepositoryManager( RepositorySystemSession session, LocalRepository repository )
         throws NoLocalRepositoryManagerException
     {
-        PrioritizedComponents<LocalRepositoryManagerFactory> factories =
-            new PrioritizedComponents<LocalRepositoryManagerFactory>( session );
+        PrioritizedComponents<LocalRepositoryManagerFactory> factories = new PrioritizedComponents<>( session );
         for ( LocalRepositoryManagerFactory factory : this.managerFactories )
         {
             factories.add( factory, factory.getPriority() );
         }
 
-        List<NoLocalRepositoryManagerException> errors = new ArrayList<NoLocalRepositoryManagerException>();
+        List<NoLocalRepositoryManagerException> errors = new ArrayList<>();
         for ( PrioritizedComponent<LocalRepositoryManagerFactory> factory : factories.getEnabled() )
         {
             try
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
index 244fc5a..bf1f3fc 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
@@ -167,7 +167,7 @@ public class DefaultMetadataResolver
 
         try
         {
-            Collection<Metadata> metadata = new ArrayList<Metadata>( requests.size() );
+            Collection<Metadata> metadata = new ArrayList<>( requests.size() );
             for ( MetadataRequest request : requests )
             {
                 metadata.add( request.getMetadata() );
@@ -186,11 +186,11 @@ public class DefaultMetadataResolver
     private List<MetadataResult> resolve( RepositorySystemSession session,
                                           Collection<? extends MetadataRequest> requests )
     {
-        List<MetadataResult> results = new ArrayList<MetadataResult>( requests.size() );
+        List<MetadataResult> results = new ArrayList<>( requests.size() );
 
-        List<ResolveTask> tasks = new ArrayList<ResolveTask>( requests.size() );
+        List<ResolveTask> tasks = new ArrayList<>( requests.size() );
 
-        Map<File, Long> localLastUpdates = new HashMap<File, Long>();
+        Map<File, Long> localLastUpdates = new HashMap<>();
 
         for ( MetadataRequest request : requests )
         {
@@ -275,13 +275,11 @@ public class DefaultMetadataResolver
                 }
             }
 
-            List<UpdateCheck<Metadata, MetadataTransferException>> checks =
-                new ArrayList<UpdateCheck<Metadata, MetadataTransferException>>();
+            List<UpdateCheck<Metadata, MetadataTransferException>> checks = new ArrayList<>();
             Exception exception = null;
             for ( RemoteRepository repo : repositories )
             {
-                UpdateCheck<Metadata, MetadataTransferException> check =
-                    new UpdateCheck<Metadata, MetadataTransferException>();
+                UpdateCheck<Metadata, MetadataTransferException> check = new UpdateCheck<>();
                 check.setLocalLastUpdated( ( localLastUpdate != null ) ? localLastUpdate : 0 );
                 check.setItem( metadata );
 
@@ -400,7 +398,7 @@ public class DefaultMetadataResolver
 
     private List<RemoteRepository> getEnabledSourceRepositories( RemoteRepository repository, Metadata.Nature nature )
     {
-        List<RemoteRepository> repositories = new ArrayList<RemoteRepository>();
+        List<RemoteRepository> repositories = new ArrayList<>();
 
         if ( repository.isRepositoryManager() )
         {
@@ -558,7 +556,7 @@ public class DefaultMetadataResolver
 
             try
             {
-                List<RemoteRepository> repositories = new ArrayList<RemoteRepository>();
+                List<RemoteRepository> repositories = new ArrayList<>();
                 for ( UpdateCheck<Metadata, MetadataTransferException> check : checks )
                 {
                     repositories.add( check.getAuthoritativeRepository() );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
index 2c17993..127a022 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRemoteRepositoryManager.java
@@ -137,7 +137,7 @@ public class DefaultRemoteRepositoryManager
         AuthenticationSelector authSelector = session.getAuthenticationSelector();
         ProxySelector proxySelector = session.getProxySelector();
 
-        List<RemoteRepository> result = new ArrayList<RemoteRepository>( dominantRepositories );
+        List<RemoteRepository> result = new ArrayList<>( dominantRepositories );
 
         next: for ( RemoteRepository recessiveRepository : recessiveRepositories )
         {
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
index 3a828bc..5917797 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryConnectorProvider.java
@@ -50,7 +50,7 @@ public class DefaultRepositoryConnectorProvider
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryConnectorProvider.class );
 
-    private Collection<RepositoryConnectorFactory> connectorFactories = new ArrayList<RepositoryConnectorFactory>();
+    private Collection<RepositoryConnectorFactory> connectorFactories = new ArrayList<>();
 
     public DefaultRepositoryConnectorProvider()
     {
@@ -78,7 +78,7 @@ public class DefaultRepositoryConnectorProvider
     {
         if ( factories == null )
         {
-            this.connectorFactories = new ArrayList<RepositoryConnectorFactory>();
+            this.connectorFactories = new ArrayList<>();
         }
         else
         {
@@ -92,14 +92,13 @@ public class DefaultRepositoryConnectorProvider
     {
         requireNonNull( repository, "remote repository cannot be null" );
 
-        PrioritizedComponents<RepositoryConnectorFactory> factories =
-            new PrioritizedComponents<RepositoryConnectorFactory>( session );
+        PrioritizedComponents<RepositoryConnectorFactory> factories = new PrioritizedComponents<>( session );
         for ( RepositoryConnectorFactory factory : this.connectorFactories )
         {
             factories.add( factory, factory.getPriority() );
         }
 
-        List<NoRepositoryConnectorException> errors = new ArrayList<NoRepositoryConnectorException>();
+        List<NoRepositoryConnectorException> errors = new ArrayList<>();
         for ( PrioritizedComponent<RepositoryConnectorFactory> factory : factories.getEnabled() )
         {
             try
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
index 4b71f43..4cb8825 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryEventDispatcher.java
@@ -44,7 +44,7 @@ public class DefaultRepositoryEventDispatcher
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryEventDispatcher.class );
 
-    private Collection<RepositoryListener> listeners = new ArrayList<RepositoryListener>();
+    private Collection<RepositoryListener> listeners = new ArrayList<>();
 
     public DefaultRepositoryEventDispatcher()
     {
@@ -67,7 +67,7 @@ public class DefaultRepositoryEventDispatcher
     {
         if ( listeners == null )
         {
-            this.listeners = new ArrayList<RepositoryListener>();
+            this.listeners = new ArrayList<>();
         }
         else
         {
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
index 56bf1ec..b858dd0 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositoryLayoutProvider.java
@@ -48,7 +48,7 @@ public final class DefaultRepositoryLayoutProvider
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultRepositoryLayoutProvider.class );
 
-    private Collection<RepositoryLayoutFactory> factories = new ArrayList<RepositoryLayoutFactory>();
+    private Collection<RepositoryLayoutFactory> factories = new ArrayList<>();
 
     public DefaultRepositoryLayoutProvider()
     {
@@ -76,7 +76,7 @@ public final class DefaultRepositoryLayoutProvider
     {
         if ( factories == null )
         {
-            this.factories = new ArrayList<RepositoryLayoutFactory>();
+            this.factories = new ArrayList<>();
         }
         else
         {
@@ -90,14 +90,13 @@ public final class DefaultRepositoryLayoutProvider
     {
         requireNonNull( repository, "remote repository cannot be null" );
 
-        PrioritizedComponents<RepositoryLayoutFactory> factories =
-            new PrioritizedComponents<RepositoryLayoutFactory>( session );
+        PrioritizedComponents<RepositoryLayoutFactory> factories = new PrioritizedComponents<>( session );
         for ( RepositoryLayoutFactory factory : this.factories )
         {
             factories.add( factory, factory.getPriority() );
         }
 
-        List<NoRepositoryLayoutException> errors = new ArrayList<NoRepositoryLayoutException>();
+        List<NoRepositoryLayoutException> errors = new ArrayList<>();
         for ( PrioritizedComponent<RepositoryLayoutFactory> factory : factories.getEnabled() )
         {
             try
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
index e7a1cb8..c5a175d 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultTransporterProvider.java
@@ -48,7 +48,7 @@ public final class DefaultTransporterProvider
 
     private static final Logger LOGGER = LoggerFactory.getLogger( DefaultTransporterProvider.class );
 
-    private Collection<TransporterFactory> factories = new ArrayList<TransporterFactory>();
+    private Collection<TransporterFactory> factories = new ArrayList<>();
 
     public DefaultTransporterProvider()
     {
@@ -76,7 +76,7 @@ public final class DefaultTransporterProvider
     {
         if ( factories == null )
         {
-            this.factories = new ArrayList<TransporterFactory>();
+            this.factories = new ArrayList<>();
         }
         else
         {
@@ -90,13 +90,13 @@ public final class DefaultTransporterProvider
     {
         requireNonNull( repository, "remote repository cannot be null" );
 
-        PrioritizedComponents<TransporterFactory> factories = new PrioritizedComponents<TransporterFactory>( session );
+        PrioritizedComponents<TransporterFactory> factories = new PrioritizedComponents<>( session );
         for ( TransporterFactory factory : this.factories )
         {
             factories.add( factory, factory.getPriority() );
         }
 
-        List<NoTransporterException> errors = new ArrayList<NoTransporterException>();
+        List<NoTransporterException> errors = new ArrayList<>();
         for ( PrioritizedComponent<TransporterFactory> factory : factories.getEnabled() )
         {
             try
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
index 4c843be..47d1d42 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManager.java
@@ -372,7 +372,7 @@ public class DefaultUpdateCheckManager
         Set<String> mirroredUrls = Collections.emptySet();
         if ( repository.isRepositoryManager() )
         {
-            mirroredUrls = new TreeSet<String>();
+            mirroredUrls = new TreeSet<>();
             for ( RemoteRepository mirroredRepository : repository.getMirroredRepositories() )
             {
                 mirroredUrls.add( normalizeRepoUrl( mirroredRepository.getUrl() ) );
@@ -489,7 +489,7 @@ public class DefaultUpdateCheckManager
         while ( !( checkedFiles instanceof Map ) )
         {
             Object old = checkedFiles;
-            checkedFiles = new ConcurrentHashMap<Object, Object>( 256 );
+            checkedFiles = new ConcurrentHashMap<>( 256 );
             if ( data.set( SESSION_CHECKS, old, checkedFiles ) )
             {
                 break;
@@ -557,7 +557,7 @@ public class DefaultUpdateCheckManager
 
     private Properties write( File touchFile, String dataKey, String transferKey, Exception error )
     {
-        Map<String, String> updates = new HashMap<String, String>();
+        Map<String, String> updates = new HashMap<>();
 
         String timestamp = Long.toString( System.currentTimeMillis() );
 
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManager.java
index 5ab8c40..9ba0890 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/EnhancedLocalRepositoryManager.java
@@ -142,7 +142,7 @@ class EnhancedLocalRepositoryManager
 
     private Collection<String> getRepositoryKeys( RemoteRepository repository, Collection<String> contexts )
     {
-        Collection<String> keys = new HashSet<String>();
+        Collection<String> keys = new HashSet<>();
 
         if ( contexts != null )
         {
@@ -173,7 +173,7 @@ class EnhancedLocalRepositoryManager
 
     private void addRepo( File artifactFile, Collection<String> repositories )
     {
-        Map<String, String> updates = new HashMap<String, String>();
+        Map<String, String> updates = new HashMap<>();
         for ( String repository : repositories )
         {
             updates.put( getKey( artifactFile, repository ), "" );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponents.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponents.java
index 32ea054..688ecda 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponents.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/PrioritizedComponents.java
@@ -55,7 +55,7 @@ final class PrioritizedComponents<T>
         useInsertionOrder =
             ConfigUtils.getBoolean( configProps, ConfigurationProperties.DEFAULT_IMPLICIT_PRIORITIES,
                                     ConfigurationProperties.IMPLICIT_PRIORITIES );
-        components = new ArrayList<PrioritizedComponent<T>>();
+        components = new ArrayList<>();
         firstDisabled = 0;
     }
 
@@ -64,7 +64,7 @@ final class PrioritizedComponents<T>
         Class<?> type = getImplClass( component );
         int index = components.size();
         priority = useInsertionOrder ? -index : ConfigUtils.getFloat( configProps, priority, getConfigKeys( type ) );
-        PrioritizedComponent<T> pc = new PrioritizedComponent<T>( component, type, priority, index );
+        PrioritizedComponent<T> pc = new PrioritizedComponent<>( component, type, priority, index );
 
         if ( !useInsertionOrder )
         {
@@ -104,7 +104,7 @@ final class PrioritizedComponents<T>
 
     static String[] getConfigKeys( Class<?> type )
     {
-        List<String> keys = new ArrayList<String>();
+        List<String> keys = new ArrayList<>();
         keys.add( ConfigurationProperties.PREFIX_PRIORITY + type.getName() );
         String sn = type.getSimpleName();
         keys.add( ConfigurationProperties.PREFIX_PRIORITY + sn );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
index a00cdaa..55f114b 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/SimpleLocalRepositoryManager.java
@@ -134,7 +134,7 @@ class SimpleLocalRepositoryManager
 
             buffer.append( '-' );
 
-            SortedSet<String> subKeys = new TreeSet<String>();
+            SortedSet<String> subKeys = new TreeSet<>();
             for ( RemoteRepository mirroredRepo : repository.getMirroredRepositories() )
             {
                 subKeys.add( mirroredRepo.getId() );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java
index deb830d..d21c674 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/Utils.java
@@ -43,8 +43,7 @@ final class Utils
     public static PrioritizedComponents<MetadataGeneratorFactory> sortMetadataGeneratorFactories( RepositorySystemSession session,
                                                                                                   Collection<? extends MetadataGeneratorFactory> factories )
     {
-        PrioritizedComponents<MetadataGeneratorFactory> result =
-            new PrioritizedComponents<MetadataGeneratorFactory>( session );
+        PrioritizedComponents<MetadataGeneratorFactory> result = new PrioritizedComponents<>( session );
         for ( MetadataGeneratorFactory factory : factories )
         {
             result.add( factory, factory.getPriority() );
@@ -55,7 +54,7 @@ final class Utils
     public static List<Metadata> prepareMetadata( List<? extends MetadataGenerator> generators,
                                                   List<? extends Artifact> artifacts )
     {
-        List<Metadata> metadatas = new ArrayList<Metadata>();
+        List<Metadata> metadatas = new ArrayList<>();
 
         for ( MetadataGenerator generator : generators )
         {
@@ -68,7 +67,7 @@ final class Utils
     public static List<Metadata> finishMetadata( List<? extends MetadataGenerator> generators,
                                                  List<? extends Artifact> artifacts )
     {
-        List<Metadata> metadatas = new ArrayList<Metadata>();
+        List<Metadata> metadatas = new ArrayList<>();
 
         for ( MetadataGenerator generator : generators )
         {
@@ -80,7 +79,7 @@ final class Utils
 
     public static <T> List<T> combine( Collection<? extends T> first, Collection<? extends T> second )
     {
-        List<T> result = new ArrayList<T>( first.size() + second.size() );
+        List<T> result = new ArrayList<>( first.size() + second.size() );
         result.addAll( first );
         result.addAll( second );
         return result;
@@ -93,7 +92,7 @@ final class Utils
         {
             return ResolutionErrorPolicy.CACHE_DISABLED;
         }
-        return rep.getArtifactPolicy( session, new ResolutionErrorPolicyRequest<Artifact>( artifact, repository ) );
+        return rep.getArtifactPolicy( session, new ResolutionErrorPolicyRequest<>( artifact, repository ) );
     }
 
     public static int getPolicy( RepositorySystemSession session, Metadata metadata, RemoteRepository repository )
@@ -103,7 +102,7 @@ final class Utils
         {
             return ResolutionErrorPolicy.CACHE_DISABLED;
         }
-        return rep.getMetadataPolicy( session, new ResolutionErrorPolicyRequest<Metadata>( metadata, repository ) );
+        return rep.getMetadataPolicy( session, new ResolutionErrorPolicyRequest<>( metadata, repository ) );
     }
 
     public static void appendClassLoader( StringBuilder buffer, Object component )
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
index cbd023e..a260234 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/CachingArtifactTypeRegistry.java
@@ -50,7 +50,7 @@ class CachingArtifactTypeRegistry
     private CachingArtifactTypeRegistry( ArtifactTypeRegistry delegate )
     {
         this.delegate = delegate;
-        types = new HashMap<String, ArtifactType>();
+        types = new HashMap<>();
     }
 
     public ArtifactType get( String typeId )
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
index e4fb051..24931e1 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
@@ -614,7 +614,7 @@ public class DefaultDependencyCollector
                                                                           ArtifactDescriptorRequest descriptorRequest )
     {
         return noDescriptor
-                ? new FutureResult<ArtifactDescriptorResult>( new ArtifactDescriptorResult( descriptorRequest ) )
+                ? new FutureResult<>( new ArtifactDescriptorResult( descriptorRequest ) )
                 : resolveCachedArtifactDescriptor( args.pool, descriptorRequest, args.session, d, results,
                 args );
     }
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
index c2b3585..41c0126 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyGraphTransformationContext.java
@@ -39,7 +39,7 @@ class DefaultDependencyGraphTransformationContext
     DefaultDependencyGraphTransformationContext( RepositorySystemSession session )
     {
         this.session = session;
-        this.map = new HashMap<Object, Object>();
+        this.map = new HashMap<>();
     }
 
     public RepositorySystemSession getSession()
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
index 684b7da..c3b45c3 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultVersionFilterContext.java
@@ -91,7 +91,7 @@ final class DefaultVersionFilterContext
             }
             return Collections.singletonList( iterator().next() );
         }
-        List<Version> versions = new ArrayList<Version>( count );
+        List<Version> versions = new ArrayList<>( count );
         for ( Version version : this )
         {
             versions.add( version );
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/ObjectPool.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/ObjectPool.java
index acb62c5..c4117eb 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/ObjectPool.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/ObjectPool.java
@@ -31,7 +31,7 @@ import java.util.WeakHashMap;
 class ObjectPool<T>
 {
 
-    private final Map<Object, Reference<T>> objects = new WeakHashMap<Object, Reference<T>>( 256 );
+    private final Map<Object, Reference<T>> objects = new WeakHashMap<>( 256 );
 
     public synchronized T intern( T object )
     {
@@ -45,7 +45,7 @@ class ObjectPool<T>
             }
         }
 
-        objects.put( object, new WeakReference<T>( object ) );
+        objects.put( object, new WeakReference<>( object ) );
         return object;
     }
 
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
index f776e9c..b15afec 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultArtifactResolverTest.java
@@ -128,7 +128,7 @@ public class DefaultArtifactResolverTest
         throws IOException, ArtifactResolutionException
     {
         File tmpFile = TestFileUtils.createTempFile( "tmp" );
-        Map<String, String> properties = new HashMap<String, String>();
+        Map<String, String> properties = new HashMap<>();
         properties.put( ArtifactProperties.LOCAL_PATH, tmpFile.getAbsolutePath() );
         artifact = artifact.setProperties( properties );
 
@@ -149,7 +149,7 @@ public class DefaultArtifactResolverTest
         throws IOException, ArtifactResolutionException
     {
         File tmpFile = TestFileUtils.createTempFile( "tmp" );
-        Map<String, String> properties = new HashMap<String, String>();
+        Map<String, String> properties = new HashMap<>();
         properties.put( ArtifactProperties.LOCAL_PATH, tmpFile.getAbsolutePath() );
         artifact = artifact.setProperties( properties );
 
@@ -422,7 +422,7 @@ public class DefaultArtifactResolverTest
         session.setRepositoryListener( listener );
 
         File tmpFile = TestFileUtils.createTempFile( "tmp" );
-        Map<String, String> properties = new HashMap<String, String>();
+        Map<String, String> properties = new HashMap<>();
         properties.put( ArtifactProperties.LOCAL_PATH, tmpFile.getAbsolutePath() );
         artifact = artifact.setProperties( properties );
 
@@ -449,7 +449,7 @@ public class DefaultArtifactResolverTest
         RecordingRepositoryListener listener = new RecordingRepositoryListener();
         session.setRepositoryListener( listener );
 
-        Map<String, String> properties = new HashMap<String, String>();
+        Map<String, String> properties = new HashMap<>();
         properties.put( ArtifactProperties.LOCAL_PATH, "doesnotexist" );
         artifact = artifact.setProperties( properties );
 
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
index 9cb299c..906dc91 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DefaultUpdateCheckManagerTest.java
@@ -105,7 +105,7 @@ public class DefaultUpdateCheckManagerTest
 
     private UpdateCheck<Metadata, MetadataTransferException> newMetadataCheck()
     {
-        UpdateCheck<Metadata, MetadataTransferException> check = new UpdateCheck<Metadata, MetadataTransferException>();
+        UpdateCheck<Metadata, MetadataTransferException> check = new UpdateCheck<>();
         check.setItem( metadata );
         check.setFile( metadata.getFile() );
         check.setRepository( repository );
@@ -116,7 +116,7 @@ public class DefaultUpdateCheckManagerTest
 
     private UpdateCheck<Artifact, ArtifactTransferException> newArtifactCheck()
     {
-        UpdateCheck<Artifact, ArtifactTransferException> check = new UpdateCheck<Artifact, ArtifactTransferException>();
+        UpdateCheck<Artifact, ArtifactTransferException> check = new UpdateCheck<>();
         check.setItem( artifact );
         check.setFile( artifact.getFile() );
         check.setRepository( repository );
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DependencyGraphDumper.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DependencyGraphDumper.java
index 39bc1ed..68d4ef4 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DependencyGraphDumper.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/DependencyGraphDumper.java
@@ -41,7 +41,7 @@ public class DependencyGraphDumper
         Context context = new Context();
         dump( context, node, 0, true );
 
-        LinkedList<Indent> indents = new LinkedList<Indent>();
+        LinkedList<Indent> indents = new LinkedList<>();
         for ( Line line : context.lines )
         {
             if ( line.depth > indents.size() )
@@ -160,8 +160,8 @@ public class DependencyGraphDumper
 
         Context()
         {
-            this.lines = new ArrayList<Line>();
-            this.nodes = new IdentityHashMap<DependencyNode, Line>( 1024 );
+            this.lines = new ArrayList<>();
+            this.nodes = new IdentityHashMap<>( 1024 );
         }
 
     }
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentTest.java
index 989c1ad..1644f72 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentTest.java
@@ -29,10 +29,10 @@ public class PrioritizedComponentTest
     @Test
     public void testIsDisabled()
     {
-        assertTrue( new PrioritizedComponent<String>( "", String.class, Float.NaN, 0 ).isDisabled() );
-        assertFalse( new PrioritizedComponent<String>( "", String.class, 0, 0 ).isDisabled() );
-        assertFalse( new PrioritizedComponent<String>( "", String.class, 1, 0 ).isDisabled() );
-        assertFalse( new PrioritizedComponent<String>( "", String.class, -1, 0 ).isDisabled() );
+        assertTrue(new PrioritizedComponent<>( "", String.class, Float.NaN, 0 ).isDisabled() );
+        assertFalse(new PrioritizedComponent<>( "", String.class, 0, 0 ).isDisabled() );
+        assertFalse(new PrioritizedComponent<>( "", String.class, 1, 0 ).isDisabled() );
+        assertFalse(new PrioritizedComponent<>( "", String.class, -1, 0 ).isDisabled() );
     }
 
     @Test
@@ -56,16 +56,16 @@ public class PrioritizedComponentTest
 
     private void assertCompare( int expected, float priority1, float priority2 )
     {
-        PrioritizedComponent<?> one = new PrioritizedComponent<String>( "", String.class, priority1, 0 );
-        PrioritizedComponent<?> two = new PrioritizedComponent<String>( "", String.class, priority2, 0 );
+        PrioritizedComponent<?> one = new PrioritizedComponent<>( "", String.class, priority1, 0 );
+        PrioritizedComponent<?> two = new PrioritizedComponent<>( "", String.class, priority2, 0 );
         assertEquals( expected, one.compareTo( two ) );
         assertEquals( -expected, two.compareTo( one ) );
     }
 
     private void assertCompare( int expected, float priority, int index1, int index2 )
     {
-        PrioritizedComponent<?> one = new PrioritizedComponent<String>( "", String.class, priority, index1 );
-        PrioritizedComponent<?> two = new PrioritizedComponent<String>( "", String.class, priority, index2 );
+        PrioritizedComponent<?> one = new PrioritizedComponent<>( "", String.class, priority, index1 );
+        PrioritizedComponent<?> two = new PrioritizedComponent<>( "", String.class, priority, index2 );
         assertEquals( expected, one.compareTo( two ) );
         assertEquals( -expected, two.compareTo( one ) );
     }
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
index 3f5a093..764a130 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
@@ -54,10 +54,10 @@ public class PrioritizedComponentsTest
     {
         Exception comp1 = new IllegalArgumentException();
         Exception comp2 = new NullPointerException();
-        Map<Object, Object> config = new HashMap<Object, Object>();
+        Map<Object, Object> config = new HashMap<>();
         config.put( ConfigurationProperties.PREFIX_PRIORITY + comp1.getClass().getName(), 6 );
         config.put( ConfigurationProperties.PREFIX_PRIORITY + comp2.getClass().getName(), 7 );
-        PrioritizedComponents<Exception> components = new PrioritizedComponents<Exception>( config );
+        PrioritizedComponents<Exception> components = new PrioritizedComponents<>( config );
         components.add( comp1, 1 );
         components.add( comp2, 0 );
         List<PrioritizedComponent<Exception>> sorted = components.getEnabled();
@@ -73,9 +73,9 @@ public class PrioritizedComponentsTest
     {
         Exception comp1 = new IllegalArgumentException();
         Exception comp2 = new NullPointerException();
-        Map<Object, Object> config = new HashMap<Object, Object>();
+        Map<Object, Object> config = new HashMap<>();
         config.put( ConfigurationProperties.IMPLICIT_PRIORITIES, true );
-        PrioritizedComponents<Exception> components = new PrioritizedComponents<Exception>( config );
+        PrioritizedComponents<Exception> components = new PrioritizedComponents<>( config );
         components.add( comp1, 1 );
         components.add( comp2, 2 );
         List<PrioritizedComponent<Exception>> sorted = components.getEnabled();
@@ -89,8 +89,8 @@ public class PrioritizedComponentsTest
     {
         Exception comp1 = new IllegalArgumentException();
         Exception comp2 = new NullPointerException();
-        Map<Object, Object> config = new HashMap<Object, Object>();
-        PrioritizedComponents<Exception> components = new PrioritizedComponents<Exception>( config );
+        Map<Object, Object> config = new HashMap<>();
+        PrioritizedComponents<Exception> components = new PrioritizedComponents<>( config );
 
         components.add( new UnsupportedOperationException(), Float.NaN );
         List<PrioritizedComponent<Exception>> sorted = components.getEnabled();
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryConnector.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryConnector.java
index 80a347a..a41013b 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryConnector.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/RecordingRepositoryConnector.java
@@ -60,13 +60,13 @@ class RecordingRepositoryConnector
 
     private Metadata[] expectPutMD;
 
-    private List<Artifact> actualGet = new ArrayList<Artifact>();
+    private List<Artifact> actualGet = new ArrayList<>();
 
-    private List<Metadata> actualGetMD = new ArrayList<Metadata>();
+    private List<Metadata> actualGetMD = new ArrayList<>();
 
-    private List<Artifact> actualPut = new ArrayList<Artifact>();
+    private List<Artifact> actualPut = new ArrayList<>();
 
-    private List<Metadata> actualPutMD = new ArrayList<Metadata>();
+    private List<Metadata> actualPutMD = new ArrayList<>();
 
     public RecordingRepositoryConnector( RepositorySystemSession session, Artifact[] expectGet, Artifact[] expectPut,
                                          Metadata[] expectGetMD, Metadata[] expectPutMD )
@@ -289,10 +289,10 @@ class RecordingRepositoryConnector
 
     public void resetActual()
     {
-        this.actualGet = new ArrayList<Artifact>();
-        this.actualGetMD = new ArrayList<Metadata>();
-        this.actualPut = new ArrayList<Artifact>();
-        this.actualPutMD = new ArrayList<Metadata>();
+        this.actualGet = new ArrayList<>();
+        this.actualGetMD = new ArrayList<>();
+        this.actualPut = new ArrayList<>();
+        this.actualPutMD = new ArrayList<>();
     }
 
 }
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/TrackingFileManagerTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/TrackingFileManagerTest.java
index a3f4bb8..6dbd21b 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/TrackingFileManagerTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/TrackingFileManagerTest.java
@@ -82,7 +82,7 @@ public class TrackingFileManagerTest
         // NOTE: The excessive repetitions are to check the update properly truncates the file
         File propFile = TestFileUtils.createTempFile( "key1=value1\nkey2 : value2\n".getBytes( StandardCharsets.UTF_8 ), 1000 );
 
-        Map<String, String> updates = new HashMap<String, String>();
+        Map<String, String> updates = new HashMap<>();
         updates.put( "key1", "v" );
         updates.put( "key2", null );
 
@@ -102,7 +102,7 @@ public class TrackingFileManagerTest
     {
         TrackingFileManager tfm = new TrackingFileManager();
 
-        Map<String, String> updates = new HashMap<String, String>();
+        Map<String, String> updates = new HashMap<>();
         updates.put( "k", "v" );
 
         for ( int i = 0; i < 1000; i++ )
diff --git a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
index 94c504e..876cd00 100644
--- a/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
+++ b/maven-resolver-impl/src/test/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollectorTest.java
@@ -387,7 +387,7 @@ public class DefaultDependencyCollectorTest
     {
         RemoteRepository repo2 = new RemoteRepository.Builder( "test", "default", "file:///" ).build();
 
-        final List<RemoteRepository> repos = new ArrayList<RemoteRepository>();
+        final List<RemoteRepository> repos = new ArrayList<>();
 
         collector.setArtifactDescriptorReader( new ArtifactDescriptorReader()
         {
@@ -539,15 +539,15 @@ public class DefaultDependencyCollectorTest
         implements DependencyManager
     {
 
-        private Map<String, String> versions = new HashMap<String, String>();
+        private Map<String, String> versions = new HashMap<>();
 
-        private Map<String, String> scopes = new HashMap<String, String>();
+        private Map<String, String> scopes = new HashMap<>();
 
-        private Map<String, Boolean> optionals = new HashMap<String, Boolean>();
+        private Map<String, Boolean> optionals = new HashMap<>();
 
-        private Map<String, String> paths = new HashMap<String, String>();
+        private Map<String, String> paths = new HashMap<>();
 
-        private Map<String, Collection<Exclusion>> exclusions = new HashMap<String, Collection<Exclusion>>();
+        private Map<String, Collection<Exclusion>> exclusions = new HashMap<>();
 
         public void add( Dependency d, String version, String scope, String localPath )
         {
diff --git a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/GetTask.java b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/GetTask.java
index dd9c867..3d30694 100644
--- a/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/GetTask.java
+++ b/maven-resolver-spi/src/main/java/org/eclipse/aether/spi/connector/transport/GetTask.java
@@ -236,7 +236,7 @@ public final class GetTask
         {
             if ( checksums.isEmpty() )
             {
-                checksums = new HashMap<String, String>();
+                checksums = new HashMap<>();
             }
             if ( value != null && value.length() > 0 )
             {
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/DependencyGraphParser.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/DependencyGraphParser.java
index 3bdeaa6..c86e3aa 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/DependencyGraphParser.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/DependencyGraphParser.java
@@ -172,7 +172,7 @@ public class DependencyGraphParser
 
         BufferedReader reader = new BufferedReader( new InputStreamReader( res.openStream(), StandardCharsets.UTF_8 ) );
 
-        List<DependencyNode> ret = new ArrayList<DependencyNode>();
+        List<DependencyNode> ret = new ArrayList<>();
         DependencyNode root = null;
         while ( ( root = parse( reader ) ) != null )
         {
@@ -222,8 +222,8 @@ public class DependencyGraphParser
         DependencyNode node = null;
         int prevLevel = 0;
 
-        Map<String, DependencyNode> nodes = new HashMap<String, DependencyNode>();
-        LinkedList<DependencyNode> stack = new LinkedList<DependencyNode>();
+        Map<String, DependencyNode> nodes = new HashMap<>();
+        LinkedList<DependencyNode> stack = new LinkedList<>();
         boolean isRootNode = true;
 
         while ( ( line = in.readLine() ) != null )
@@ -352,7 +352,7 @@ public class DependencyGraphParser
             node.setManagedBits( managedBits );
             if ( def.relocations != null )
             {
-                List<Artifact> relocations = new ArrayList<Artifact>();
+                List<Artifact> relocations = new ArrayList<>();
                 for ( String relocation : def.relocations )
                 {
                     relocations.add( new DefaultArtifact( relocation ) );
@@ -387,7 +387,7 @@ public class DependencyGraphParser
     {
         StringBuilder ret = new StringBuilder();
 
-        List<NodeEntry> entries = new ArrayList<NodeEntry>();
+        List<NodeEntry> entries = new ArrayList<>();
 
         addNode( root, 0, entries );
 
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDataReader.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDataReader.java
index 1dc8005..b13c3cd 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDataReader.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/IniArtifactDataReader.java
@@ -112,7 +112,7 @@ class IniArtifactDataReader
 
         State state = State.NONE;
 
-        Map<State, List<String>> sections = new HashMap<State, List<String>>();
+        Map<State, List<String>> sections = new HashMap<>();
 
         BufferedReader in = null;
         try
@@ -182,7 +182,7 @@ class IniArtifactDataReader
 
     private List<RemoteRepository> repositories( List<String> list )
     {
-        ArrayList<RemoteRepository> ret = new ArrayList<RemoteRepository>();
+        ArrayList<RemoteRepository> ret = new ArrayList<>();
         if ( list == null )
         {
             return ret;
@@ -201,13 +201,13 @@ class IniArtifactDataReader
 
     private List<Dependency> dependencies( List<String> list, boolean managed )
     {
-        List<Dependency> ret = new ArrayList<Dependency>();
+        List<Dependency> ret = new ArrayList<>();
         if ( list == null )
         {
             return ret;
         }
 
-        Collection<Exclusion> exclusions = new ArrayList<Exclusion>();
+        Collection<Exclusion> exclusions = new ArrayList<>();
 
         Boolean optional = null;
         Artifact artifact = null;
@@ -229,7 +229,7 @@ class IniArtifactDataReader
                     Dependency dep = new Dependency( artifact, scope, optional, exclusions );
                     ret.add( dep );
 
-                    exclusions = new ArrayList<Exclusion>();
+                    exclusions = new ArrayList<>();
                 }
 
                 ArtifactDefinition def = new ArtifactDefinition( coords );
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeBuilder.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeBuilder.java
index fdd988a..a327b5b 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeBuilder.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeBuilder.java
@@ -58,11 +58,11 @@ public class NodeBuilder
 
     private String context;
 
-    private List<Artifact> relocations = new ArrayList<Artifact>();
+    private List<Artifact> relocations = new ArrayList<>();
 
     private VersionScheme versionScheme = new TestVersionScheme();
 
-    private Map<String, String> properties = new HashMap<String, String>( 0 );
+    private Map<String, String> properties = new HashMap<>( 0 );
 
     public NodeBuilder artifactId( String artifactId )
     {
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeDefinition.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeDefinition.java
index 023a383..5d21455 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeDefinition.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/NodeDefinition.java
@@ -111,7 +111,7 @@ class NodeDefinition
         String props = m.group( 5 );
         if ( props != null )
         {
-            properties = new LinkedHashMap<String, String>();
+            properties = new LinkedHashMap<>();
             for ( String prop : props.split( "\\s*,\\s*" ) )
             {
                 int sep = prop.indexOf( ':' );
@@ -128,7 +128,7 @@ class NodeDefinition
         String relocs = m.group( 9 );
         if ( relocs != null )
         {
-            relocations = new ArrayList<String>();
+            relocations = new ArrayList<>();
             Collections.addAll( relocations, relocs.split( "\\s*,\\s*" ) );
         }
 
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestDependencyGraphTransformationContext.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestDependencyGraphTransformationContext.java
index 762c9f8..ee6fe60 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestDependencyGraphTransformationContext.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestDependencyGraphTransformationContext.java
@@ -39,7 +39,7 @@ class TestDependencyGraphTransformationContext
     TestDependencyGraphTransformationContext( RepositorySystemSession session )
     {
         this.session = session;
-        this.map = new HashMap<Object, Object>();
+        this.map = new HashMap<>();
     }
 
     public RepositorySystemSession getSession()
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
index f59199f..afe28e7 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestFileUtils.java
@@ -79,7 +79,7 @@ public class TestFileUtils
             return;
         }
 
-        Collection<File> undeletables = new ArrayList<File>();
+        Collection<File> undeletables = new ArrayList<>();
 
         delete( file, undeletables );
 
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
index f97fb78..05225b5 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestLocalRepositoryManager.java
@@ -46,11 +46,11 @@ public class TestLocalRepositoryManager
 
     private LocalRepository localRepository;
 
-    private Set<Artifact> unavailableArtifacts = new HashSet<Artifact>();
+    private Set<Artifact> unavailableArtifacts = new HashSet<>();
 
-    private Set<Artifact> artifactRegistrations = new HashSet<Artifact>();
+    private Set<Artifact> artifactRegistrations = new HashSet<>();
 
-    private Set<Metadata> metadataRegistrations = new HashSet<Metadata>();
+    private Set<Metadata> metadataRegistrations = new HashSet<>();
 
     public TestLocalRepositoryManager()
     {
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionFilterContext.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionFilterContext.java
index 1e1b230..44f4f56 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionFilterContext.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionFilterContext.java
@@ -52,7 +52,7 @@ class TestVersionFilterContext
         this.session = session;
         this.result = result;
         dependency = new Dependency( result.getRequest().getArtifact(), "" );
-        versions = new ArrayList<Version>( result.getVersions() );
+        versions = new ArrayList<>( result.getVersions() );
     }
 
     public RepositorySystemSession getSession()
diff --git a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
index 5865f6c..c337fdc 100644
--- a/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
+++ b/maven-resolver-test-util/src/main/java/org/eclipse/aether/internal/test/util/TestVersionScheme.java
@@ -50,7 +50,7 @@ final class TestVersionScheme
     public VersionConstraint parseVersionConstraint( final String constraint )
         throws InvalidVersionSpecificationException
     {
-        Collection<VersionRange> ranges = new ArrayList<VersionRange>();
+        Collection<VersionRange> ranges = new ArrayList<>();
 
         String process = constraint;
 
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/AuthSchemePool.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/AuthSchemePool.java
index 5c22963..1957688 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/AuthSchemePool.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/AuthSchemePool.java
@@ -37,7 +37,7 @@ final class AuthSchemePool
 
     AuthSchemePool()
     {
-        authSchemes = new LinkedList<AuthScheme>();
+        authSchemes = new LinkedList<>();
     }
 
     public synchronized AuthScheme get()
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
index 7d93d5a..124a8c0 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/DeferredCredentialsProvider.java
@@ -47,7 +47,7 @@ final class DeferredCredentialsProvider
     DeferredCredentialsProvider()
     {
         delegate = new BasicCredentialsProvider();
-        factories = new HashMap<AuthScope, Factory>();
+        factories = new HashMap<>();
     }
 
     public void setCredentials( AuthScope authScope, Factory factory )
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
index 3ad75b5..90db4a1 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/GlobalState.java
@@ -133,10 +133,10 @@ final class GlobalState
 
     private GlobalState()
     {
-        connectionManagers = new ConcurrentHashMap<SslConfig, ClientConnectionManager>();
-        userTokens = new ConcurrentHashMap<CompoundKey, Object>();
-        authSchemePools = new ConcurrentHashMap<HttpHost, AuthSchemePool>();
-        expectContinues = new ConcurrentHashMap<CompoundKey, Boolean>();
+        connectionManagers = new ConcurrentHashMap<>();
+        userTokens = new ConcurrentHashMap<>();
+        authSchemePools = new ConcurrentHashMap<>();
+        expectContinues = new ConcurrentHashMap<>();
     }
 
     public void close()
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
index 44f7b60..ebc5bd5 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/LocalState.java
@@ -63,7 +63,7 @@ final class LocalState
             connMgr = GlobalState.newConnectionManager( sslConfig );
             userTokenKey = null;
             expectContinueKey = null;
-            authSchemePools = new ConcurrentHashMap<HttpHost, AuthSchemePool>();
+            authSchemePools = new ConcurrentHashMap<>();
         }
         else
         {
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
index 77affc2..8835bad 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/SharingAuthCache.java
@@ -41,7 +41,7 @@ final class SharingAuthCache
     SharingAuthCache( LocalState state )
     {
         this.state = state;
-        authSchemes = new HashMap<HttpHost, AuthScheme>();
+        authSchemes = new HashMap<>();
     }
 
     private static HttpHost toKey( HttpHost host )
diff --git a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/UriUtils.java b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/UriUtils.java
index 7bc19da..6381cfb 100644
--- a/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/UriUtils.java
+++ b/maven-resolver-transport-http/src/main/java/org/eclipse/aether/transport/http/UriUtils.java
@@ -55,7 +55,7 @@ final class UriUtils
 
     public static List<URI> getDirectories( URI base, URI uri )
     {
-        List<URI> dirs = new ArrayList<URI>();
+        List<URI> dirs = new ArrayList<>();
         for ( URI dir = uri.resolve( "." ); !isBase( base, dir ); dir = dir.resolve( ".." ) )
         {
             dirs.add( dir );
diff --git a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpServer.java b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpServer.java
index 5a863e7..df74d7c 100644
--- a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpServer.java
+++ b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpServer.java
@@ -261,7 +261,7 @@ public class HttpServer
             LOGGER.info( "{} {}{}", req.getMethod(), req.getRequestURL(),
                     req.getQueryString() != null ? "?" + req.getQueryString() : "");
 
-            Map<String, String> headers = new TreeMap<String, String>( String.CASE_INSENSITIVE_ORDER );
+            Map<String, String> headers = new TreeMap<>( String.CASE_INSENSITIVE_ORDER );
             for ( Enumeration<String> en = req.getHeaderNames(); en.hasMoreElements(); )
             {
                 String name = en.nextElement();
diff --git a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java
index 384827f..fd8d679 100644
--- a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java
+++ b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/HttpTransporterTest.java
@@ -709,7 +709,7 @@ public class HttpTransporterTest
     public void testPut_Authenticated_ExpectContinueRejected_ExplicitlyConfiguredHeader()
         throws Exception
     {
-        Map<String, String> headers = new HashMap<String, String>();
+        Map<String, String> headers = new HashMap<>();
         headers.put( "Expect", "100-continue" );
         session.setConfigProperty( ConfigurationProperties.HTTP_HEADERS + ".test", headers );
         httpServer.setAuthentication( "testuser", "testpass" );
@@ -928,7 +928,7 @@ public class HttpTransporterTest
         httpServer.setAuthentication( "testuser", "testpass" );
         auth = new AuthenticationBuilder().addUsername( "testuser" ).addPassword( "testpass" ).build();
         newTransporter( httpServer.getHttpUrl() );
-        final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
+        final AtomicReference<Throwable> error = new AtomicReference<>();
         Thread threads[] = new Thread[20];
         for ( int i = 0; i < threads.length; i++ )
         {
@@ -1033,7 +1033,7 @@ public class HttpTransporterTest
     public void testCustomHeaders()
         throws Exception
     {
-        Map<String, String> headers = new HashMap<String, String>();
+        Map<String, String> headers = new HashMap<>();
         headers.put( "User-Agent", "Custom/1.0" );
         headers.put( "X-CustomHeader", "Custom-Value" );
         session.setConfigProperty( ConfigurationProperties.USER_AGENT, "SomeTest/1.0" );
diff --git a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/UriUtilsTest.java b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/UriUtilsTest.java
index e3ea9fa..70fd34d 100644
--- a/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/UriUtilsTest.java
+++ b/maven-resolver-transport-http/src/test/java/org/eclipse/aether/transport/http/UriUtilsTest.java
@@ -87,7 +87,7 @@ public class UriUtilsTest
 
     private void assertUris( List<URI> actual, String... expected )
     {
-        List<String> uris = new ArrayList<String>( actual.size() );
+        List<String> uris = new ArrayList<>( actual.size() );
         for ( URI uri : actual )
         {
             uris.add( uri.toString() );
diff --git a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
index 14a01d1..00a0eb6 100644
--- a/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
+++ b/maven-resolver-transport-wagon/src/main/java/org/eclipse/aether/transport/wagon/WagonTransporter.java
@@ -96,7 +96,7 @@ final class WagonTransporter
 
     private final Properties headers;
 
-    private final Queue<Wagon> wagons = new ConcurrentLinkedQueue<Wagon>();
+    private final Queue<Wagon> wagons = new ConcurrentLinkedQueue<>();
 
     private final AtomicBoolean closed = new AtomicBoolean();
 
diff --git a/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/MemWagonUtils.java b/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/MemWagonUtils.java
index 86d2cc7..993a26a 100644
--- a/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/MemWagonUtils.java
+++ b/maven-resolver-transport-wagon/src/test/java/org/eclipse/aether/transport/wagon/MemWagonUtils.java
@@ -36,15 +36,14 @@ import org.apache.maven.wagon.proxy.ProxyInfo;
 class MemWagonUtils
 {
 
-    private static final ConcurrentMap<String, Map<String, String>> mounts =
-        new ConcurrentHashMap<String, Map<String, String>>();
+    private static final ConcurrentMap<String, Map<String, String>> mounts = new ConcurrentHashMap<>();
 
     public static Map<String, String> getFilesystem( String id )
     {
         Map<String, String> fs = mounts.get( id );
         if ( fs == null )
         {
-            fs = new ConcurrentHashMap<String, String>();
+            fs = new ConcurrentHashMap<>();
             Map<String, String> prev = mounts.putIfAbsent( id, fs );
             if ( prev != null )
             {
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/ChecksumUtils.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/ChecksumUtils.java
index 9b4714c..4434fe3 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/ChecksumUtils.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/ChecksumUtils.java
@@ -118,9 +118,9 @@ public final class ChecksumUtils
     private static Map<String, Object> calc( InputStream data, Collection<String> algos )
         throws IOException
     {
-        Map<String, Object> results = new LinkedHashMap<String, Object>();
+        Map<String, Object> results = new LinkedHashMap<>();
 
-        Map<String, MessageDigest> digests = new LinkedHashMap<String, MessageDigest>();
+        Map<String, MessageDigest> digests = new LinkedHashMap<>();
         for ( String algo : algos )
         {
             try
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/ConfigUtils.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/ConfigUtils.java
index 2f53856..4023916 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/ConfigUtils.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/ConfigUtils.java
@@ -328,7 +328,7 @@ public final class ConfigUtils
             }
             else if ( value instanceof Collection )
             {
-                return Collections.unmodifiableList( new ArrayList<Object>( (Collection<?>) value ) );
+                return Collections.unmodifiableList( new ArrayList<>( (Collection<?>) value ) );
             }
         }
 
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java
index 0980d06..6fa4238 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/artifact/SimpleArtifactTypeRegistry.java
@@ -40,7 +40,7 @@ class SimpleArtifactTypeRegistry
      */
     SimpleArtifactTypeRegistry()
     {
-        types = new HashMap<String, ArtifactType>();
+        types = new HashMap<>();
     }
 
     /**
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
index 6bb2f9d..14e1b8e 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/RunnableErrorForwarder.java
@@ -45,7 +45,7 @@ public final class RunnableErrorForwarder
 
     private final AtomicInteger counter = new AtomicInteger();
 
-    private final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
+    private final AtomicReference<Throwable> error = new AtomicReference<>();
 
     /**
      * Creates a new error forwarder for worker threads spawned by the current thread.
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
index b874c4f..1628363 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AbstractPatternDependencyFilter.java
@@ -40,7 +40,7 @@ class AbstractPatternDependencyFilter
     implements DependencyFilter
 {
 
-    private final Set<String> patterns = new HashSet<String>();
+    private final Set<String> patterns = new HashSet<>();
 
     private final VersionScheme versionScheme;
 
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
index 9997c94..6a45d78 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/AndDependencyFilter.java
@@ -36,7 +36,7 @@ public final class AndDependencyFilter
     implements DependencyFilter
 {
 
-    private final Set<DependencyFilter> filters = new LinkedHashSet<DependencyFilter>();
+    private final Set<DependencyFilter> filters = new LinkedHashSet<>();
 
     /**
      * Creates a new filter from the specified filters. Prefer {@link #newInstance(DependencyFilter, DependencyFilter)}
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/DependencyFilterUtils.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/DependencyFilterUtils.java
index 887c4b1..f178d0b 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/DependencyFilterUtils.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/DependencyFilterUtils.java
@@ -148,7 +148,7 @@ public final class DependencyFilterUtils
      */
     public static DependencyFilter classpathFilter( Collection<String> classpathTypes )
     {
-        Collection<String> types = new HashSet<String>();
+        Collection<String> types = new HashSet<>();
 
         if ( classpathTypes != null )
         {
@@ -166,7 +166,7 @@ public final class DependencyFilterUtils
             }
         }
 
-        Collection<String> included = new HashSet<String>();
+        Collection<String> included = new HashSet<>();
         for ( String type : types )
         {
             if ( JavaScopes.COMPILE.equals( type ) )
@@ -188,7 +188,7 @@ public final class DependencyFilterUtils
             }
         }
 
-        Collection<String> excluded = new HashSet<String>();
+        Collection<String> excluded = new HashSet<>();
         Collections.addAll( excluded, JavaScopes.COMPILE, JavaScopes.PROVIDED, JavaScopes.SYSTEM, JavaScopes.RUNTIME,
                             JavaScopes.TEST );
         excluded.removeAll( included );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
index 2de4ae8..ca76539 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ExclusionsDependencyFilter.java
@@ -35,7 +35,7 @@ public final class ExclusionsDependencyFilter
     implements DependencyFilter
 {
 
-    private final Set<String> excludes = new HashSet<String>();
+    private final Set<String> excludes = new HashSet<>();
 
     /**
      * Creates a new filter using the specified exclude patterns. A pattern can either be of the form
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/OrDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/OrDependencyFilter.java
index 665f6e7..2c408e7 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/OrDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/OrDependencyFilter.java
@@ -35,7 +35,7 @@ public final class OrDependencyFilter
     implements DependencyFilter
 {
 
-    private final Set<DependencyFilter> filters = new LinkedHashSet<DependencyFilter>();
+    private final Set<DependencyFilter> filters = new LinkedHashSet<>();
 
     /**
      * Creates a new filter from the specified filters.
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ScopeDependencyFilter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ScopeDependencyFilter.java
index bc60c41..d2657d3 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ScopeDependencyFilter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/filter/ScopeDependencyFilter.java
@@ -39,9 +39,9 @@ public final class ScopeDependencyFilter
     implements DependencyFilter
 {
 
-    private final Set<String> included = new HashSet<String>();
+    private final Set<String> included = new HashSet<>();
 
-    private final Set<String> excluded = new HashSet<String>();
+    private final Set<String> excluded = new HashSet<>();
 
     /**
      * Creates a new filter using the specified includes and excludes.
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
index 88c5d62..b0b1720 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/ClassicDependencyManager.java
@@ -106,7 +106,7 @@ public final class ClassicDependencyManager
             {
                 if ( managedVersions == this.managedVersions )
                 {
-                    managedVersions = new HashMap<Object, String>( this.managedVersions );
+                    managedVersions = new HashMap<>( this.managedVersions );
                 }
                 managedVersions.put( key, version );
             }
@@ -116,7 +116,7 @@ public final class ClassicDependencyManager
             {
                 if ( managedScopes == this.managedScopes )
                 {
-                    managedScopes = new HashMap<Object, String>( this.managedScopes );
+                    managedScopes = new HashMap<>( this.managedScopes );
                 }
                 managedScopes.put( key, scope );
             }
@@ -126,7 +126,7 @@ public final class ClassicDependencyManager
             {
                 if ( managedOptionals == this.managedOptionals )
                 {
-                    managedOptionals = new HashMap<Object, Boolean>( this.managedOptionals );
+                    managedOptionals = new HashMap<>( this.managedOptionals );
                 }
                 managedOptionals.put( key, optional );
             }
@@ -136,7 +136,7 @@ public final class ClassicDependencyManager
             {
                 if ( managedLocalPaths == this.managedLocalPaths )
                 {
-                    managedLocalPaths = new HashMap<Object, String>( this.managedLocalPaths );
+                    managedLocalPaths = new HashMap<>( this.managedLocalPaths );
                 }
                 managedLocalPaths.put( key, localPath );
             }
@@ -146,12 +146,12 @@ public final class ClassicDependencyManager
             {
                 if ( managedExclusions == this.managedExclusions )
                 {
-                    managedExclusions = new HashMap<Object, Collection<Exclusion>>( this.managedExclusions );
+                    managedExclusions = new HashMap<>( this.managedExclusions );
                 }
                 Collection<Exclusion> managed = managedExclusions.get( key );
                 if ( managed == null )
                 {
-                    managed = new LinkedHashSet<Exclusion>();
+                    managed = new LinkedHashSet<>();
                     managedExclusions.put( key, managed );
                 }
                 managed.addAll( exclusions );
@@ -193,7 +193,7 @@ public final class ClassicDependencyManager
                     && dependency.getArtifact().getProperty( ArtifactProperties.LOCAL_PATH, null ) != null )
                 {
                     Map<String, String> properties =
-                        new HashMap<String, String>( dependency.getArtifact().getProperties() );
+                        new HashMap<>( dependency.getArtifact().getProperties() );
                     properties.remove( ArtifactProperties.LOCAL_PATH );
                     management.setProperties( properties );
                 }
@@ -210,7 +210,7 @@ public final class ClassicDependencyManager
                         management = new DependencyManagement();
                     }
                     Map<String, String> properties =
-                        new HashMap<String, String>( dependency.getArtifact().getProperties() );
+                        new HashMap<>( dependency.getArtifact().getProperties() );
                     properties.put( ArtifactProperties.LOCAL_PATH, localPath );
                     management.setProperties( properties );
                 }
@@ -234,7 +234,7 @@ public final class ClassicDependencyManager
             {
                 management = new DependencyManagement();
             }
-            Collection<Exclusion> result = new LinkedHashSet<Exclusion>( dependency.getExclusions() );
+            Collection<Exclusion> result = new LinkedHashSet<>( dependency.getExclusions() );
             result.addAll( exclusions );
             management.setExclusions( result );
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
index f2a7e38..a99bb99 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
@@ -51,7 +51,7 @@ public final class AndDependencySelector
     {
         if ( selectors != null && selectors.length > 0 )
         {
-            this.selectors = new LinkedHashSet<DependencySelector>( Arrays.asList( selectors ) );
+            this.selectors = new LinkedHashSet<>( Arrays.asList( selectors ) );
         }
         else
         {
@@ -68,7 +68,7 @@ public final class AndDependencySelector
     {
         if ( selectors != null && !selectors.isEmpty() )
         {
-            this.selectors = new LinkedHashSet<DependencySelector>( selectors );
+            this.selectors = new LinkedHashSet<>( selectors );
         }
         else
         {
@@ -137,7 +137,7 @@ public final class AndDependencySelector
             }
             else if ( selector != childSelector )
             {
-                childSelectors = new LinkedHashSet<DependencySelector>();
+                childSelectors = new LinkedHashSet<>();
                 if ( seen > 0 )
                 {
                     for ( DependencySelector s : selectors )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
index 221cf4f..746313a 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ExclusionDependencySelector.java
@@ -61,7 +61,7 @@ public final class ExclusionDependencySelector
     {
         if ( exclusions != null && !exclusions.isEmpty() )
         {
-            TreeSet<Exclusion> sorted = new TreeSet<Exclusion>( ExclusionComparator.INSTANCE );
+            TreeSet<Exclusion> sorted = new TreeSet<>( ExclusionComparator.INSTANCE );
             sorted.addAll( exclusions );
             this.exclusions = sorted.toArray( new Exclusion[sorted.size()] );
         }
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
index 552fc09..13bfda1 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/selector/ScopeDependencySelector.java
@@ -69,11 +69,11 @@ public final class ScopeDependencySelector
         }
         else
         {
-            copy = new HashSet<String>( scopes );
+            copy = new HashSet<>( scopes );
             if ( copy.size() <= 2 )
             {
                 // contains() is faster for smallish array (sorted for equals()!)
-                copy = new ArrayList<String>( new TreeSet<String>( copy ) );
+                copy = new ArrayList<>( new TreeSet<>( copy ) );
             }
         }
         return copy;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
index c88569f..b6330c2 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorter.java
@@ -65,7 +65,7 @@ public final class ConflictIdSorter
         Map<String, Object> stats = (Map<String, Object>) context.get( TransformationContextKeys.STATS );
         long time1 = System.nanoTime();
 
-        Map<Object, ConflictId> ids = new LinkedHashMap<Object, ConflictId>( 256 );
+        Map<Object, ConflictId> ids = new LinkedHashMap<>( 256 );
 
         {
             ConflictId id = null;
@@ -76,7 +76,7 @@ public final class ConflictIdSorter
                 ids.put( key, id );
             }
 
-            Map<DependencyNode, Object> visited = new IdentityHashMap<DependencyNode, Object>( conflictIds.size() );
+            Map<DependencyNode, Object> visited = new IdentityHashMap<>( conflictIds.size() );
 
             buildConflitIdDAG( ids, node, id, 0, visited, conflictIds );
         }
@@ -132,7 +132,7 @@ public final class ConflictIdSorter
 
     private int topsortConflictIds( Collection<ConflictId> conflictIds, DependencyGraphTransformationContext context )
     {
-        List<Object> sorted = new ArrayList<Object>( conflictIds.size() );
+        List<Object> sorted = new ArrayList<>( conflictIds.size() );
 
         RootQueue roots = new RootQueue( conflictIds.size() / 2 );
         for ( ConflictId id : conflictIds )
@@ -204,10 +204,10 @@ public final class ConflictIdSorter
 
     private Collection<Collection<Object>> findCycles( Collection<ConflictId> conflictIds )
     {
-        Collection<Collection<Object>> cycles = new HashSet<Collection<Object>>();
+        Collection<Collection<Object>> cycles = new HashSet<>();
 
-        Map<Object, Integer> stack = new HashMap<Object, Integer>( 128 );
-        Map<ConflictId, Object> visited = new IdentityHashMap<ConflictId, Object>( conflictIds.size() );
+        Map<Object, Integer> stack = new HashMap<>( 128 );
+        Map<ConflictId, Object> visited = new IdentityHashMap<>( conflictIds.size() );
         for ( ConflictId id : conflictIds )
         {
             findCycles( id, visited, stack, cycles );
@@ -223,7 +223,7 @@ public final class ConflictIdSorter
         if ( depth != null )
         {
             stack.put( id.key, depth );
-            Collection<Object> cycle = new HashSet<Object>();
+            Collection<Object> cycle = new HashSet<>();
             for ( Map.Entry<Object, Integer> entry : stack.entrySet() )
             {
                 if ( entry.getValue() >= depth )
@@ -267,7 +267,7 @@ public final class ConflictIdSorter
         {
             if ( children.isEmpty() )
             {
-                children = new HashSet<ConflictId>();
+                children = new HashSet<>();
             }
             if ( children.add( child ) )
             {
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
index f1f798e..85df74a 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictMarker.java
@@ -57,8 +57,8 @@ public final class ConflictMarker
         Map<String, Object> stats = (Map<String, Object>) context.get( TransformationContextKeys.STATS );
         long time1 = System.nanoTime();
 
-        Map<DependencyNode, Object> nodes = new IdentityHashMap<DependencyNode, Object>( 1024 );
-        Map<Object, ConflictGroup> groups = new HashMap<Object, ConflictGroup>( 1024 );
+        Map<DependencyNode, Object> nodes = new IdentityHashMap<>( 1024 );
+        Map<Object, ConflictGroup> groups = new HashMap<>( 1024 );
 
         analyze( node, nodes, groups, new int[] { 0 } );
 
@@ -175,7 +175,7 @@ public final class ConflictMarker
             }
         }
 
-        Set<Object> keys = new HashSet<Object>();
+        Set<Object> keys = new HashSet<>();
         keys.addAll( keys1 );
         keys.addAll( keys2 );
         return keys;
@@ -201,7 +201,7 @@ public final class ConflictMarker
             }
             else
             {
-                keys = new HashSet<Object>();
+                keys = new HashSet<>();
                 keys.add( key );
 
                 for ( Artifact relocation : node.getRelocations() )
@@ -223,7 +223,7 @@ public final class ConflictMarker
 
     private Map<DependencyNode, Object> mark( Collection<DependencyNode> nodes, Map<Object, ConflictGroup> groups )
     {
-        Map<DependencyNode, Object> conflictIds = new IdentityHashMap<DependencyNode, Object>( nodes.size() + 1 );
+        Map<DependencyNode, Object> conflictIds = new IdentityHashMap<>( nodes.size() + 1 );
 
         for ( DependencyNode node : nodes )
         {
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
index 7da2e48..16a004d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
@@ -145,7 +145,7 @@ public final class ConflictResolver
             throw new RepositoryException( "conflict groups have not been identified" );
         }
 
-        Map<Object, Collection<Object>> cyclicPredecessors = new HashMap<Object, Collection<Object>>();
+        Map<Object, Collection<Object>> cyclicPredecessors = new HashMap<>();
         for ( Collection<?> cycle : conflictIdCycles )
         {
             for ( Object conflictId : cycle )
@@ -153,7 +153,7 @@ public final class ConflictResolver
                 Collection<Object> predecessors = cyclicPredecessors.get( conflictId );
                 if ( predecessors == null )
                 {
-                    predecessors = new HashSet<Object>();
+                    predecessors = new HashSet<>();
                     cyclicPredecessors.put( conflictId, predecessors );
                 }
                 predecessors.addAll( cycle );
@@ -362,7 +362,7 @@ public final class ConflictResolver
             }
             else
             {
-                Collection<String> scopes = new HashSet<String>();
+                Collection<String> scopes = new HashSet<>();
                 scopes.add( (String) derivedScopes );
                 scopes.add( derivedScope );
                 derivedScopes = scopes;
@@ -381,7 +381,7 @@ public final class ConflictResolver
         {
             if ( children == null )
             {
-                children = new ArrayList<ConflictItem>( 1 );
+                children = new ArrayList<>( 1 );
             }
             children.add( item );
         }
@@ -500,15 +500,15 @@ public final class ConflictResolver
         {
             this.conflictIds = conflictIds;
             verbose = ConfigUtils.getBoolean( context.getSession(), false, CONFIG_PROP_VERBOSE );
-            potentialAncestorIds = new HashSet<Object>( conflictIdCount * 2 );
-            resolvedIds = new HashMap<Object, DependencyNode>( conflictIdCount * 2 );
-            items = new ArrayList<ConflictItem>( 256 );
-            infos = new IdentityHashMap<List<DependencyNode>, NodeInfo>( 64 );
-            stack = new IdentityHashMap<List<DependencyNode>, Object>( 64 );
-            parentNodes = new ArrayList<DependencyNode>( 64 );
-            parentScopes = new ArrayList<String>( 64 );
-            parentOptionals = new ArrayList<Boolean>( 64 );
-            parentInfos = new ArrayList<NodeInfo>( 64 );
+            potentialAncestorIds = new HashSet<>( conflictIdCount * 2 );
+            resolvedIds = new HashMap<>( conflictIdCount * 2 );
+            items = new ArrayList<>( 256 );
+            infos = new IdentityHashMap<>( 64 );
+            stack = new IdentityHashMap<>( 64 );
+            parentNodes = new ArrayList<>( 64 );
+            parentScopes = new ArrayList<>( 64 );
+            parentOptionals = new ArrayList<>( 64 );
+            parentInfos = new ArrayList<>( 64 );
             conflictCtx = new ConflictContext( root, conflictIds, items );
             scopeCtx = new ScopeContext( null, null );
             versionSelector = ConflictResolver.this.versionSelector.getInstance( root, context );
@@ -952,7 +952,7 @@ public final class ConflictResolver
             }
             else if ( !scopes.equals( scope ) )
             {
-                Collection<Object> set = new HashSet<Object>();
+                Collection<Object> set = new HashSet<>();
                 set.add( scopes );
                 set.add( scope );
                 scopes = set;
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaScopeSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaScopeSelector.java
index 93edf05..0f923a7 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaScopeSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/JavaScopeSelector.java
@@ -59,7 +59,7 @@ public final class JavaScopeSelector
 
     private String chooseEffectiveScope( Collection<ConflictItem> items )
     {
-        Set<String> scopes = new HashSet<String>();
+        Set<String> scopes = new HashSet<>();
         for ( ConflictItem item : items )
         {
             if ( item.getDepth() <= 1 )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
index d821b3e..2e0c34f 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelector.java
@@ -170,8 +170,8 @@ public final class NearestVersionSelector
 
         ConflictGroup()
         {
-            constraints = new HashSet<VersionConstraint>();
-            candidates = new ArrayList<ConflictItem>( 64 );
+            constraints = new HashSet<>();
+            candidates = new ArrayList<>( 64 );
         }
 
         @Override
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
index fb08b3b..0823483 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
@@ -52,7 +52,7 @@ public final class AndDependencyTraverser
     {
         if ( traversers != null && traversers.length > 0 )
         {
-            this.traversers = new LinkedHashSet<DependencyTraverser>( Arrays.asList( traversers ) );
+            this.traversers = new LinkedHashSet<>( Arrays.asList( traversers ) );
         }
         else
         {
@@ -69,7 +69,7 @@ public final class AndDependencyTraverser
     {
         if ( traversers != null && !traversers.isEmpty() )
         {
-            this.traversers = new LinkedHashSet<DependencyTraverser>( traversers );
+            this.traversers = new LinkedHashSet<>( traversers );
         }
         else
         {
@@ -138,7 +138,7 @@ public final class AndDependencyTraverser
             }
             else if ( traverser != childTraverser )
             {
-                childTraversers = new LinkedHashSet<DependencyTraverser>();
+                childTraversers = new LinkedHashSet<>();
                 if ( seen > 0 )
                 {
                     for ( DependencyTraverser s : traversers )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
index 32d4339..cf51962 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
@@ -50,8 +50,8 @@ abstract class AbstractDepthFirstNodeListGenerator
 
     AbstractDepthFirstNodeListGenerator()
     {
-        nodes = new ArrayList<DependencyNode>( 128 );
-        visitedNodes = new IdentityHashMap<DependencyNode, Object>( 512 );
+        nodes = new ArrayList<>( 128 );
+        visitedNodes = new IdentityHashMap<>( 512 );
     }
 
     /**
@@ -72,7 +72,7 @@ abstract class AbstractDepthFirstNodeListGenerator
      */
     public List<Dependency> getDependencies( boolean includeUnresolved )
     {
-        List<Dependency> dependencies = new ArrayList<Dependency>( getNodes().size() );
+        List<Dependency> dependencies = new ArrayList<>( getNodes().size() );
 
         for ( DependencyNode node : getNodes() )
         {
@@ -97,7 +97,7 @@ abstract class AbstractDepthFirstNodeListGenerator
      */
     public List<Artifact> getArtifacts( boolean includeUnresolved )
     {
-        List<Artifact> artifacts = new ArrayList<Artifact>( getNodes().size() );
+        List<Artifact> artifacts = new ArrayList<>( getNodes().size() );
 
         for ( DependencyNode node : getNodes() )
         {
@@ -121,7 +121,7 @@ abstract class AbstractDepthFirstNodeListGenerator
      */
     public List<File> getFiles()
     {
-        List<File> files = new ArrayList<File>( getNodes().size() );
+        List<File> files = new ArrayList<>( getNodes().size() );
 
         for ( DependencyNode node : getNodes() )
         {
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
index a39fc84..9dc72cf 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
@@ -47,8 +47,8 @@ public class CloningDependencyVisitor
      */
     public CloningDependencyVisitor()
     {
-        parents = new Stack<DependencyNode>();
-        clones = new IdentityHashMap<DependencyNode, DependencyNode>( 256 );
+        parents = new Stack<>();
+        clones = new IdentityHashMap<>( 256 );
     }
 
     /**
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
index a126bb7..130fc57 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
@@ -51,8 +51,8 @@ public final class FilteringDependencyVisitor
     {
         this.visitor = requireNonNull( visitor, "dependency visitor delegate cannot be null" );
         this.filter = filter;
-        this.accepts = new Stack<Boolean>();
-        this.parents = new Stack<DependencyNode>();
+        this.accepts = new Stack<>();
+        this.parents = new Stack<>();
     }
 
     /**
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
index d1814ed..463668c 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
@@ -70,9 +70,9 @@ public final class PathRecordingDependencyVisitor
     {
         this.filter = filter;
         this.excludeChildrenOfMatches = excludeChildrenOfMatches;
-        paths = new ArrayList<List<DependencyNode>>();
-        parents = new Stack<DependencyNode>();
-        visited = new IdentityHashMap<DependencyNode, Object>( 128 );
+        paths = new ArrayList<>();
+        parents = new Stack<>();
+        visited = new IdentityHashMap<>( 128 );
     }
 
     /**
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
index 47897a7..b9ed7ad 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
@@ -37,7 +37,7 @@ public final class PostorderNodeListGenerator
      */
     public PostorderNodeListGenerator()
     {
-        visits = new Stack<Boolean>();
+        visits = new Stack<>();
     }
 
     @Override
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
index 2f9012d..70a2664 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
@@ -49,8 +49,8 @@ public final class TreeDependencyVisitor
     public TreeDependencyVisitor( DependencyVisitor visitor )
     {
         this.visitor = requireNonNull( visitor, "dependency visitor delegate cannot be null" );
-        visitedNodes = new IdentityHashMap<DependencyNode, Object>( 512 );
-        visits = new Stack<Boolean>();
+        visitedNodes = new IdentityHashMap<>( 512 );
+        visits = new Stack<>();
     }
 
     public boolean visitEnter( DependencyNode node )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
index c654510..8880730 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
@@ -36,7 +36,7 @@ public final class ChainedRepositoryListener
     extends AbstractRepositoryListener
 {
 
-    private final List<RepositoryListener> listeners = new CopyOnWriteArrayList<RepositoryListener>();
+    private final List<RepositoryListener> listeners = new CopyOnWriteArrayList<>();
 
     /**
      * Creates a new multicast listener that delegates to the specified listeners. In contrast to the constructor, this
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
index d943105..9abd49d 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/listener/ChainedTransferListener.java
@@ -37,7 +37,7 @@ public final class ChainedTransferListener
     extends AbstractTransferListener
 {
 
-    private final List<TransferListener> listeners = new CopyOnWriteArrayList<TransferListener>();
+    private final List<TransferListener> listeners = new CopyOnWriteArrayList<>();
 
     /**
      * Creates a new multicast listener that delegates to the specified listeners. In contrast to the constructor, this
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
index bc69e85..9988d77 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
@@ -40,7 +40,7 @@ public final class AuthenticationBuilder
      */
     public AuthenticationBuilder()
     {
-        authentications = new ArrayList<Authentication>();
+        authentications = new ArrayList<>();
     }
 
     /**
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
index 890ea76..02740da 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/ChainedWorkspaceReader.java
@@ -37,7 +37,7 @@ public final class ChainedWorkspaceReader
     implements WorkspaceReader
 {
 
-    private List<WorkspaceReader> readers = new ArrayList<WorkspaceReader>();
+    private List<WorkspaceReader> readers = new ArrayList<>();
 
     private WorkspaceRepository repository;
 
@@ -106,14 +106,14 @@ public final class ChainedWorkspaceReader
 
     public List<String> findVersions( Artifact artifact )
     {
-        Collection<String> versions = new LinkedHashSet<String>();
+        Collection<String> versions = new LinkedHashSet<>();
 
         for ( WorkspaceReader reader : readers )
         {
             versions.addAll( reader.findVersions( artifact ) );
         }
 
-        return Collections.unmodifiableList( new ArrayList<String>( versions ) );
+        return Collections.unmodifiableList( new ArrayList<>( versions ) );
     }
 
     public WorkspaceRepository getRepository()
@@ -129,7 +129,7 @@ public final class ChainedWorkspaceReader
     private static class Key
     {
 
-        private final List<Object> keys = new ArrayList<Object>();
+        private final List<Object> keys = new ArrayList<>();
 
         Key( List<WorkspaceReader> readers )
         {
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
index a5d4ce3..c104be3 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultAuthenticationSelector.java
@@ -33,7 +33,7 @@ public final class DefaultAuthenticationSelector
     implements AuthenticationSelector
 {
 
-    private final Map<String, Authentication> repos = new HashMap<String, Authentication>();
+    private final Map<String, Authentication> repos = new HashMap<>();
 
     /**
      * Adds the specified authentication info for the given repository identifier.
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
index e07abdd..1d6a197 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultMirrorSelector.java
@@ -37,7 +37,7 @@ public final class DefaultMirrorSelector
 
     private static final String EXTERNAL_WILDCARD = "external:*";
 
-    private final List<MirrorDef> mirrors = new ArrayList<MirrorDef>();
+    private final List<MirrorDef> mirrors = new ArrayList<>();
 
     /**
      * Adds the specified mirror to this selector.
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
index cf14f93..4053da1 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/repository/DefaultProxySelector.java
@@ -39,7 +39,7 @@ public final class DefaultProxySelector
     implements ProxySelector
 {
 
-    private List<ProxyDef> proxies = new ArrayList<ProxyDef>();
+    private List<ProxyDef> proxies = new ArrayList<>();
 
     /**
      * Adds the specified proxy definition to the selector. Proxy definitions are ordered, the first matching proxy for
@@ -59,7 +59,7 @@ public final class DefaultProxySelector
 
     public Proxy getProxy( RemoteRepository repository )
     {
-        Map<String, ProxyDef> candidates = new HashMap<String, ProxyDef>();
+        Map<String, ProxyDef> candidates = new HashMap<>();
 
         String host = repository.getHost();
         for ( ProxyDef proxy : proxies )
@@ -105,7 +105,7 @@ public final class DefaultProxySelector
 
         NonProxyHosts( String nonProxyHosts )
         {
-            List<Pattern> patterns = new ArrayList<Pattern>();
+            List<Pattern> patterns = new ArrayList<>();
             if ( nonProxyHosts != null )
             {
                 for ( StringTokenizer tokenizer = new StringTokenizer( nonProxyHosts, "|" ); tokenizer.hasMoreTokens(); )
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersion.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersion.java
index a363058..cecfeb5 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersion.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersion.java
@@ -57,7 +57,7 @@ final class GenericVersion
 
     private static Item[] parse( String version )
     {
-        List<Item> items = new ArrayList<Item>();
+        List<Item> items = new ArrayList<>();
 
         for ( Tokenizer tokenizer = new Tokenizer( version ); tokenizer.next(); )
         {
@@ -189,7 +189,7 @@ final class GenericVersion
 
         static
         {
-            QUALIFIERS = new TreeMap<String, Integer>( String.CASE_INSENSITIVE_ORDER );
+            QUALIFIERS = new TreeMap<>( String.CASE_INSENSITIVE_ORDER );
             QUALIFIERS.put( "alpha", QUALIFIER_ALPHA );
             QUALIFIERS.put( "beta", QUALIFIER_BETA );
             QUALIFIERS.put( "milestone", QUALIFIER_MILESTONE );
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
index 8fc0488..c191a90 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/GenericVersionScheme.java
@@ -79,7 +79,7 @@ public final class GenericVersionScheme
     public VersionConstraint parseVersionConstraint( final String constraint )
         throws InvalidVersionSpecificationException
     {
-        Collection<VersionRange> ranges = new ArrayList<VersionRange>();
+        Collection<VersionRange> ranges = new ArrayList<>();
 
         String process = constraint;
 
diff --git a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/UnionVersionRange.java b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/UnionVersionRange.java
index c54a4b4..5bb6189 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/UnionVersionRange.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/version/UnionVersionRange.java
@@ -68,7 +68,7 @@ final class UnionVersionRange
         }
         else
         {
-            this.ranges = new HashSet<VersionRange>( ranges );
+            this.ranges = new HashSet<>( ranges );
             Bound lowerBound = null, upperBound = null;
             for ( VersionRange range : this.ranges )
             {
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java
index 683c8e0..440a7c1 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/ConfigUtilsTest.java
@@ -34,7 +34,7 @@ import org.junit.Test;
 public class ConfigUtilsTest
 {
 
-    Map<Object, Object> config = new HashMap<Object, Object>();
+    Map<Object, Object> config = new HashMap<>();
 
     @Test
     public void testGetObject_Default()
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/artifact/SubArtifactTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/artifact/SubArtifactTest.java
index 0ae333e..b03194f 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/artifact/SubArtifactTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/artifact/SubArtifactTest.java
@@ -140,7 +140,7 @@ public class SubArtifactTest
     @Test
     public void testPropertiesCopied()
     {
-        Map<String, String> props = new HashMap<String, String>();
+        Map<String, String> props = new HashMap<>();
         props.put( "key", "value1" );
 
         Artifact a = new SubArtifact( newMainArtifact( "gid:aid:ver" ), "", "pom", props, null );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AndDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AndDependencyFilterTest.java
index 45a7f3d..7ddc666 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AndDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/AndDependencyFilterTest.java
@@ -39,7 +39,7 @@ public class AndDependencyFilterTest
     {
         NodeBuilder builder = new NodeBuilder();
         builder.artifactId( "test" );
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
 
         // Empty AND
         assertTrue( new AndDependencyFilter().accept( builder.build(), parents ) );
@@ -63,17 +63,17 @@ public class AndDependencyFilterTest
                                                                                                                parents ) );
 
         // User another constructor
-        Collection<DependencyFilter> filters = new LinkedList<DependencyFilter>();
+        Collection<DependencyFilter> filters = new LinkedList<>();
         filters.add( getDenyFilter() );
         filters.add( getAcceptFilter() );
         assertFalse( new AndDependencyFilter( filters ).accept( builder.build(), parents ) );
 
-        filters = new LinkedList<DependencyFilter>();
+        filters = new LinkedList<>();
         filters.add( getDenyFilter() );
         filters.add( getDenyFilter() );
         assertFalse( new AndDependencyFilter( filters ).accept( builder.build(), parents ) );
 
-        filters = new LinkedList<DependencyFilter>();
+        filters = new LinkedList<>();
         filters.add( getAcceptFilter() );
         filters.add( getAcceptFilter() );
         assertTrue( new AndDependencyFilter( filters ).accept( builder.build(), parents ) );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ExclusionDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ExclusionDependencyFilterTest.java
index a0be592..f4c45e9 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ExclusionDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ExclusionDependencyFilterTest.java
@@ -40,7 +40,7 @@ public class ExclusionDependencyFilterTest
 
         NodeBuilder builder = new NodeBuilder();
         builder.groupId( "com.example.test" ).artifactId( "testArtifact" );
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
         String[] excludes;
 
         excludes = new String[] { "com.example.test:testArtifact" };
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/OrDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/OrDependencyFilterTest.java
index 03b80ea..a9f0774 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/OrDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/OrDependencyFilterTest.java
@@ -41,7 +41,7 @@ public class OrDependencyFilterTest
     {
         NodeBuilder builder = new NodeBuilder();
         builder.artifactId( "test" );
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
         // Empty OR
         assertFalse( new OrDependencyFilter().accept( builder.build(), parents ) );
 
@@ -64,12 +64,12 @@ public class OrDependencyFilterTest
                                                                                                               parents ) );
 
         // User another constructor
-        Collection<DependencyFilter> filters = new LinkedList<DependencyFilter>();
+        Collection<DependencyFilter> filters = new LinkedList<>();
         filters.add( getDenyFilter() );
         filters.add( getAcceptFilter() );
         assertTrue( new OrDependencyFilter( filters ).accept( builder.build(), parents ) );
 
-        filters = new LinkedList<DependencyFilter>();
+        filters = new LinkedList<>();
         filters.add( getDenyFilter() );
         filters.add( getDenyFilter() );
         assertFalse( new OrDependencyFilter( filters ).accept( builder.build(), parents ) );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternExclusionsDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternExclusionsDependencyFilterTest.java
index b5b307e..1513847 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternExclusionsDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternExclusionsDependencyFilterTest.java
@@ -40,7 +40,7 @@ public class PatternExclusionsDependencyFilterTest
         NodeBuilder builder = new NodeBuilder();
         builder.artifactId( "testArtifact" );
         DependencyNode node = builder.build();
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
 
         // Empty String, Empty List
         assertTrue( dontAccept( node, "" ) );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternInclusionsDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternInclusionsDependencyFilterTest.java
index cb85431..0055cc2 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternInclusionsDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/PatternInclusionsDependencyFilterTest.java
@@ -41,7 +41,7 @@ public class PatternInclusionsDependencyFilterTest
         NodeBuilder builder = new NodeBuilder();
         builder.artifactId( "testArtifact" );
         DependencyNode node = builder.build();
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
 
         // Empty String, Empty List
         assertTrue( accept( node, "" ) );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ScopeDependencyFilterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ScopeDependencyFilterTest.java
index e943df9..50b2c54 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ScopeDependencyFilterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/filter/ScopeDependencyFilterTest.java
@@ -40,7 +40,7 @@ public class ScopeDependencyFilterTest
 
         NodeBuilder builder = new NodeBuilder();
         builder.scope( "compile" ).artifactId( "test" );
-        List<DependencyNode> parents = new LinkedList<DependencyNode>();
+        List<DependencyNode> parents = new LinkedList<>();
 
         // null or empty
         assertTrue( new ScopeDependencyFilter( null, null ).accept( builder.build(), parents ) );
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/AbstractDependencyGraphTransformerTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/AbstractDependencyGraphTransformerTest.java
index b5947ed..372be11 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/AbstractDependencyGraphTransformerTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/AbstractDependencyGraphTransformerTest.java
@@ -75,7 +75,7 @@ public abstract class AbstractDependencyGraphTransformerTest
 
     protected List<DependencyNode> find( DependencyNode node, String id )
     {
-        LinkedList<DependencyNode> trail = new LinkedList<DependencyNode>();
+        LinkedList<DependencyNode> trail = new LinkedList<>();
         find( trail, node, id );
         return trail;
     }
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorterTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorterTest.java
index b24a920..4f4e031 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorterTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/ConflictIdSorterTest.java
@@ -53,7 +53,7 @@ public class ConflictIdSorterTest
 
     private void expectOrder( List<String> sorted, String... ids )
     {
-        Queue<String> queue = new LinkedList<String>( sorted );
+        Queue<String> queue = new LinkedList<>( sorted );
 
         for ( String id : ids )
         {
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
index df30368..5f06580 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/SimpleConflictMarker.java
@@ -45,7 +45,7 @@ class SimpleConflictMarker
             (Map<DependencyNode, Object>) context.get( TransformationContextKeys.CONFLICT_IDS );
         if ( conflictIds == null )
         {
-            conflictIds = new IdentityHashMap<DependencyNode, Object>();
+            conflictIds = new IdentityHashMap<>();
             context.put( TransformationContextKeys.CONFLICT_IDS, conflictIds );
         }