http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
index 3b6cdb1..3f64b81 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2ServiceFactoryFactory.java
@@ -19,12 +19,12 @@
 package org.apache.sshd.common.io.nio2;
 
 import java.nio.channels.AsynchronousChannel;
+import java.util.Objects;
 import java.util.concurrent.ExecutorService;
 
 import org.apache.sshd.common.FactoryManager;
 import org.apache.sshd.common.io.AbstractIoServiceFactoryFactory;
 import org.apache.sshd.common.io.IoServiceFactory;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  */
@@ -46,7 +46,7 @@ public class Nio2ServiceFactoryFactory extends 
AbstractIoServiceFactoryFactory {
     public Nio2ServiceFactoryFactory(ExecutorService executors, boolean 
shutdownOnExit) {
         super(executors, shutdownOnExit);
         // Make sure NIO2 is available
-        ValidateUtils.checkNotNull(AsynchronousChannel.class, "Missing NIO2 
class");
+        Objects.requireNonNull(AsynchronousChannel.class, "Missing NIO2 
class");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Session.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Session.java 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Session.java
index df40722..fc02a25 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Session.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Session.java
@@ -25,6 +25,7 @@ import java.nio.channels.AsynchronousSocketChannel;
 import java.nio.channels.ClosedChannelException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Queue;
 import java.util.concurrent.LinkedTransferQueue;
 import java.util.concurrent.TimeUnit;
@@ -40,7 +41,6 @@ import org.apache.sshd.common.io.IoSession;
 import org.apache.sshd.common.io.IoWriteFuture;
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.Readable;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.closeable.AbstractCloseable;
 
@@ -64,10 +64,10 @@ public class Nio2Session extends AbstractCloseable 
implements IoSession {
     private final AtomicReference<Nio2DefaultIoWriteFuture> currentWrite = new 
AtomicReference<>();
 
     public Nio2Session(Nio2Service service, FactoryManager manager, IoHandler 
handler, AsynchronousSocketChannel socket) throws IOException {
-        this.service = ValidateUtils.checkNotNull(service, "No service 
instance");
-        this.manager = ValidateUtils.checkNotNull(manager, "No factory 
manager");
-        this.ioHandler = ValidateUtils.checkNotNull(handler, "No IoHandler");
-        this.socketChannel = ValidateUtils.checkNotNull(socket, "No socket 
channel");
+        this.service = Objects.requireNonNull(service, "No service instance");
+        this.manager = Objects.requireNonNull(manager, "No factory manager");
+        this.ioHandler = Objects.requireNonNull(handler, "No IoHandler");
+        this.socketChannel = Objects.requireNonNull(socket, "No socket 
channel");
         this.localAddress = socket.getLocalAddress();
         this.remoteAddress = socket.getRemoteAddress();
         if (log.isDebugEnabled()) {
@@ -255,7 +255,7 @@ public class Nio2Session extends AbstractCloseable 
implements IoSession {
 
     protected void doReadCycle(ByteBuffer buffer, Readable bufReader) {
         Nio2CompletionHandler<Integer, Object> completion =
-                
ValidateUtils.checkNotNull(createReadCycleCompletionHandler(buffer, bufReader), 
"No completion handler created");
+                
Objects.requireNonNull(createReadCycleCompletionHandler(buffer, bufReader), "No 
completion handler created");
         doReadCycle(buffer, completion);
     }
 
@@ -322,7 +322,7 @@ public class Nio2Session extends AbstractCloseable 
implements IoSession {
                     AsynchronousSocketChannel socket = getSocket();
                     ByteBuffer buffer = future.getBuffer();
                     Nio2CompletionHandler<Integer, Object> handler =
-                            
ValidateUtils.checkNotNull(createWriteCycleCompletionHandler(future, socket, 
buffer),
+                            
Objects.requireNonNull(createWriteCycleCompletionHandler(future, socket, 
buffer),
                                                        "No write cycle 
completion handler created");
                     doWriteCycle(buffer, handler);
                 } catch (Throwable e) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java 
b/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java
index 5f09c49..2f34fa8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/BuiltinDHFactories.java
@@ -27,6 +27,7 @@ import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeMap;
@@ -193,7 +194,7 @@ public enum BuiltinDHFactories implements DHFactory {
      *                                  with the same name (case 
<U>insensitive</U>).
      */
     public static void registerExtension(DHFactory extension) {
-        String name = ValidateUtils.checkNotNull(extension, "No extension 
provided").getName();
+        String name = Objects.requireNonNull(extension, "No extension 
provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension 
overrides built-in: %s", name);
 
         synchronized (EXTENSIONS) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java 
b/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
index 143e15c..3c4e8d9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/ECDH.java
@@ -26,6 +26,7 @@ import java.security.interfaces.ECPublicKey;
 import java.security.spec.ECParameterSpec;
 import java.security.spec.ECPoint;
 import java.security.spec.ECPublicKeySpec;
+import java.util.Objects;
 
 import javax.crypto.KeyAgreement;
 
@@ -59,7 +60,7 @@ public class ECDH extends AbstractDH {
     }
 
     public ECDH(ECCurves curve) throws Exception {
-        this(ValidateUtils.checkNotNull(curve, "No known curve instance 
provided").getParameters());
+        this(Objects.requireNonNull(curve, "No known curve instance 
provided").getParameters());
     }
 
     public ECDH(ECParameterSpec paramSpec) throws Exception {
@@ -71,7 +72,7 @@ public class ECDH extends AbstractDH {
     @Override
     public byte[] getE() throws Exception {
         if (e == null) {
-            ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
+            Objects.requireNonNull(params, "No ECParameterSpec(s)");
             myKpairGen.initialize(params);
             KeyPair myKpair = myKpairGen.generateKeyPair();
             myKeyAgree.init(myKpair.getPrivate());
@@ -83,7 +84,7 @@ public class ECDH extends AbstractDH {
 
     @Override
     protected byte[] calculateK() throws Exception {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
+        Objects.requireNonNull(params, "No ECParameterSpec(s)");
         KeyFactory myKeyFac = 
SecurityUtils.getKeyFactory(KeyUtils.EC_ALGORITHM);
         ECPublicKeySpec keySpec = new ECPublicKeySpec(f, params);
         PublicKey yourPubKey = myKeyFac.generatePublic(keySpec);
@@ -97,14 +98,14 @@ public class ECDH extends AbstractDH {
 
     @Override
     public void setF(byte[] f) {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
+        Objects.requireNonNull(params, "No ECParameterSpec(s)");
         this.f = ECDSAPublicKeyEntryDecoder.octetStringToEcPoint(f);
     }
 
     @Override
     public Digest getHash() throws Exception {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
-        ECCurves curve = 
ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Unknown curve 
parameters");
+        Objects.requireNonNull(params, "No ECParameterSpec(s)");
+        ECCurves curve = 
Objects.requireNonNull(ECCurves.fromCurveParameters(params), "Unknown curve 
parameters");
         return curve.getDigestForParams();
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java 
b/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java
index 30b383e..41afd9d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/mac/BuiltinMacs.java
@@ -26,6 +26,7 @@ import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeMap;
@@ -112,7 +113,7 @@ public enum BuiltinMacs implements MacFactory {
      *                                  with the same name (case 
<U>insensitive</U>).
      */
     public static void registerExtension(MacFactory extension) {
-        String name = ValidateUtils.checkNotNull(extension, "No extension 
provided").getName();
+        String name = Objects.requireNonNull(extension, "No extension 
provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension 
overrides built-in: %s", name);
 
         synchronized (EXTENSIONS) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/random/SingletonRandomFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/random/SingletonRandomFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/random/SingletonRandomFactory.java
index eb9e175..ce24112 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/random/SingletonRandomFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/random/SingletonRandomFactory.java
@@ -18,9 +18,10 @@
  */
 package org.apache.sshd.common.random;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.NamedFactory;
 import org.apache.sshd.common.OptionalFeature;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * A random factory wrapper that uses a single random instance.
@@ -34,8 +35,8 @@ public class SingletonRandomFactory extends AbstractRandom 
implements RandomFact
     private final Random random;
 
     public SingletonRandomFactory(NamedFactory<Random> factory) {
-        this.factory = ValidateUtils.checkNotNull(factory, "No factory");
-        this.random = factory.create();
+        this.factory = Objects.requireNonNull(factory, "No factory");
+        this.random = Objects.requireNonNull(factory.create(), "No random 
instance created");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpException.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpException.java 
b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpException.java
index 25bcc4c..9ae17c7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpException.java
@@ -20,8 +20,7 @@
 package org.apache.sshd.common.scp;
 
 import java.io.IOException;
-
-import org.apache.sshd.common.util.ValidateUtils;
+import java.util.Objects;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -35,7 +34,7 @@ public class ScpException extends IOException {
     }
 
     public ScpException(Integer exitStatus) {
-        this("Exit status=" + 
ScpHelper.getExitStatusName(ValidateUtils.checkNotNull(exitStatus, "No exit 
status")), exitStatus);
+        this("Exit status=" + 
ScpHelper.getExitStatusName(Objects.requireNonNull(exitStatus, "No exit 
status")), exitStatus);
     }
 
     public ScpException(String message, Integer exitStatus) {
@@ -43,7 +42,7 @@ public class ScpException extends IOException {
     }
 
     public ScpException(Throwable cause, Integer exitStatus) {
-        this(ValidateUtils.checkNotNull(cause, "No cause").getMessage(), 
cause, exitStatus);
+        this(Objects.requireNonNull(cause, "No cause").getMessage(), cause, 
exitStatus);
     }
 
     public ScpException(String message, Throwable cause, Integer exitStatus) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java 
b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
index ad2867f..3b20642 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpHelper.java
@@ -40,6 +40,7 @@ import java.nio.file.attribute.FileTime;
 import java.nio.file.attribute.PosixFilePermission;
 import java.util.Collection;
 import java.util.EnumSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
@@ -53,7 +54,6 @@ import org.apache.sshd.common.session.Session;
 import org.apache.sshd.common.session.SessionHolder;
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.SelectorUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.io.DirectoryScanner;
 import org.apache.sshd.common.util.io.IoUtils;
 import org.apache.sshd.common.util.io.LimitInputStream;
@@ -107,9 +107,9 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
 
     public ScpHelper(Session session, InputStream in, OutputStream out,
             FileSystem fileSystem, ScpFileOpener opener, 
ScpTransferEventListener eventListener) {
-        this.sessionInstance = ValidateUtils.checkNotNull(session, "No 
session");
-        this.in = ValidateUtils.checkNotNull(in, "No input stream");
-        this.out = ValidateUtils.checkNotNull(out, "No output stream");
+        this.sessionInstance = Objects.requireNonNull(session, "No session");
+        this.in = Objects.requireNonNull(in, "No input stream");
+        this.out = Objects.requireNonNull(out, "No output stream");
         this.fileSystem = fileSystem;
         this.opener = (opener == null) ? DefaultScpFileOpener.INSTANCE : 
opener;
         this.listener = (eventListener == null) ? 
ScpTransferEventListener.EMPTY : eventListener;
@@ -162,7 +162,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     public void receive(Path local, final boolean recursive, boolean 
shouldBeDir, final boolean preserve, final int bufferSize) throws IOException {
-        final Path path = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        final Path path = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         if (shouldBeDir) {
             LinkOption[] options = IoUtils.getLinkOptions(false);
             Boolean status = IoUtils.checkFileExists(path, options);
@@ -238,7 +238,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     public void receiveDir(String header, Path local, ScpTimestamp time, 
boolean preserve, int bufferSize) throws IOException {
-        Path path = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        Path path = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         if (log.isDebugEnabled()) {
             log.debug("receiveDir({})[{}] Receiving directory {} - 
preserve={}, time={}, buffer-size={}",
                       this, header, path, preserve, time, bufferSize);
@@ -329,7 +329,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     public void receiveFile(String header, Path local, ScpTimestamp time, 
boolean preserve, int bufferSize) throws IOException {
-        Path path = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        Path path = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         if (log.isDebugEnabled()) {
             log.debug("receiveFile({})[{}] Receiving file {} - preserve={}, 
time={}, buffer-size={}",
                       this, header, path, preserve, time, bufferSize);
@@ -501,7 +501,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     protected void send(Path local, boolean recursive, boolean preserve, int 
bufferSize, LinkOption... options) throws IOException {
-        Path file = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        Path file = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         Boolean status = IoUtils.checkFileExists(file, options);
         if (status == null) {
             throw new AccessDeniedException("Send file existence status cannot 
be determined: " + file);
@@ -550,7 +550,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     public void sendFile(Path local, boolean preserve, int bufferSize) throws 
IOException {
-        Path path = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        Path path = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         if (log.isDebugEnabled()) {
             log.debug("sendFile({})[preserve={},buffer-size={}] Sending file 
{}", this, preserve, bufferSize, path);
         }
@@ -664,7 +664,7 @@ public class ScpHelper extends AbstractLoggingBean 
implements SessionHolder<Sess
     }
 
     public void sendDir(Path local, boolean preserve, int bufferSize) throws 
IOException {
-        Path path = ValidateUtils.checkNotNull(local, "No local 
path").normalize().toAbsolutePath();
+        Path path = Objects.requireNonNull(local, "No local 
path").normalize().toAbsolutePath();
         if (log.isDebugEnabled()) {
             log.debug("sendDir({}) Sending directory {} - preserve={}, 
buffer-size={}",
                       this, path, preserve, bufferSize);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpLocation.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpLocation.java 
b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpLocation.java
index 94ead31..d2a9afc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpLocation.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/ScpLocation.java
@@ -182,7 +182,7 @@ public class ScpLocation implements MutableUserHolder, 
Serializable, Cloneable {
      * @throws IllegalArgumentException if invalid specification
      */
     public static <L extends ScpLocation> L update(String locSpec, L location) 
{
-        ValidateUtils.checkNotNull(location, "No location to update");
+        Objects.requireNonNull(location, "No location to update");
         if (GenericUtils.isEmpty(locSpec)) {
             return location;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/scp/helpers/LocalFileScpSourceStreamResolver.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/scp/helpers/LocalFileScpSourceStreamResolver.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/scp/helpers/LocalFileScpSourceStreamResolver.java
index 0c2196e..8ce9b61 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/scp/helpers/LocalFileScpSourceStreamResolver.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/scp/helpers/LocalFileScpSourceStreamResolver.java
@@ -28,13 +28,13 @@ import java.nio.file.attribute.BasicFileAttributeView;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.nio.file.attribute.PosixFilePermission;
 import java.util.Collection;
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.sshd.common.scp.ScpFileOpener;
 import org.apache.sshd.common.scp.ScpSourceStreamResolver;
 import org.apache.sshd.common.scp.ScpTimestamp;
 import org.apache.sshd.common.session.Session;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.io.IoUtils;
 import org.apache.sshd.common.util.logging.AbstractLoggingBean;
 
@@ -50,7 +50,7 @@ public class LocalFileScpSourceStreamResolver extends 
AbstractLoggingBean implem
     protected final ScpTimestamp time;
 
     public LocalFileScpSourceStreamResolver(Path path, ScpFileOpener opener) 
throws IOException {
-        this.path = ValidateUtils.checkNotNull(path, "No path specified");
+        this.path = Objects.requireNonNull(path, "No path specified");
         this.opener = (opener == null) ? DefaultScpFileOpener.INSTANCE : 
opener;
         this.name = path.getFileName();
         this.perms = IoUtils.getPermissions(path);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/session/SessionWorkBuffer.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionWorkBuffer.java 
b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionWorkBuffer.java
index 1d4ce28..16242ea 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/SessionWorkBuffer.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/SessionWorkBuffer.java
@@ -19,7 +19,8 @@
 
 package org.apache.sshd.common.session;
 
-import org.apache.sshd.common.util.ValidateUtils;
+import java.util.Objects;
+
 import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 
 /**
@@ -29,7 +30,7 @@ public class SessionWorkBuffer extends ByteArrayBuffer 
implements SessionHolder<
     private final Session session;
 
     public SessionWorkBuffer(Session session) {
-        this.session = ValidateUtils.checkNotNull(session, "No session");
+        this.session = Objects.requireNonNull(session, "No session");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
index 05c8454..ce901ff 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
@@ -104,7 +104,7 @@ public abstract class AbstractConnectionService<S extends 
AbstractSession>
     private final S sessionInstance;
 
     protected AbstractConnectionService(S session) {
-        sessionInstance = ValidateUtils.checkNotNull(session, "No session");
+        sessionInstance = Objects.requireNonNull(session, "No session");
         listenerProxy = 
EventListenerUtils.proxyWrapper(PortForwardingEventListener.class, 
getClass().getClassLoader(), listeners);
     }
 
@@ -163,9 +163,9 @@ public abstract class AbstractConnectionService<S extends 
AbstractSession>
 
     protected TcpipForwarder createTcpipForwarder(S session) {
         FactoryManager manager =
-                ValidateUtils.checkNotNull(session.getFactoryManager(), "No 
factory manager");
+                Objects.requireNonNull(session.getFactoryManager(), "No 
factory manager");
         TcpipForwarderFactory factory =
-                ValidateUtils.checkNotNull(manager.getTcpipForwarderFactory(), 
"No forwarder factory");
+                Objects.requireNonNull(manager.getTcpipForwarderFactory(), "No 
forwarder factory");
         TcpipForwarder forwarder = factory.create(this);
         
forwarder.addPortForwardingEventListener(getPortForwardingEventListenerProxy());
         
forwarder.addPortForwardingEventListener(session.getPortForwardingEventListenerProxy());
@@ -537,7 +537,7 @@ public abstract class AbstractConnectionService<S extends 
AbstractSession>
         }
 
         final Session session = getSession();
-        FactoryManager manager = 
ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager");
+        FactoryManager manager = 
Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
         final Channel channel = 
NamedFactory.create(manager.getChannelFactories(), type);
         if (channel == null) {
             // TODO add language tag
@@ -617,7 +617,7 @@ public abstract class AbstractConnectionService<S extends 
AbstractSession>
 
         Session session = getSession();
         FactoryManager manager =
-                ValidateUtils.checkNotNull(session.getFactoryManager(), "No 
factory manager");
+                Objects.requireNonNull(session.getFactoryManager(), "No 
factory manager");
         List<RequestHandler<ConnectionService>> handlers = 
manager.getGlobalRequestHandlers();
         if (GenericUtils.size(handlers) > 0) {
             for (RequestHandler<ConnectionService> handler : handlers) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
index 1377a0e..0d5de94 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
@@ -250,7 +250,7 @@ public abstract class AbstractSession extends 
AbstractKexFactoryManager implemen
      * @param ioSession      the underlying MINA session
      */
     protected AbstractSession(boolean isServer, FactoryManager factoryManager, 
IoSession ioSession) {
-        super(ValidateUtils.checkNotNull(factoryManager, "No factory manager 
provided"));
+        super(Objects.requireNonNull(factoryManager, "No factory manager 
provided"));
         this.isServer = isServer;
         this.factoryManager = factoryManager;
         this.ioSession = ioSession;
@@ -311,7 +311,7 @@ public abstract class AbstractSession extends 
AbstractKexFactoryManager implemen
      * @param session   the session to attach
      */
     public static void attachSession(IoSession ioSession, AbstractSession 
session) {
-        ValidateUtils.checkNotNull(ioSession, "No I/O 
session").setAttribute(SESSION, ValidateUtils.checkNotNull(session, "No SSH 
session"));
+        Objects.requireNonNull(ioSession, "No I/O 
session").setAttribute(SESSION, Objects.requireNonNull(session, "No SSH 
session"));
     }
 
     @Override
@@ -1969,21 +1969,21 @@ public abstract class AbstractSession extends 
AbstractKexFactoryManager implemen
     @Override
     @SuppressWarnings("unchecked")
     public <T> T getAttribute(AttributeKey<T> key) {
-        return (T) attributes.get(ValidateUtils.checkNotNull(key, "No key"));
+        return (T) attributes.get(Objects.requireNonNull(key, "No key"));
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public <T> T setAttribute(AttributeKey<T> key, T value) {
         return (T) attributes.put(
-                ValidateUtils.checkNotNull(key, "No key"),
-                ValidateUtils.checkNotNull(value, "No value"));
+                Objects.requireNonNull(key, "No key"),
+                Objects.requireNonNull(value, "No value"));
     }
 
     @Override
     @SuppressWarnings("unchecked")
     public <T> T removeAttribute(AttributeKey<T> key) {
-        return (T) attributes.remove(ValidateUtils.checkNotNull(key, "No 
key"));
+        return (T) attributes.remove(Objects.requireNonNull(key, "No key"));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionFactory.java
index b192b89..889633e 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSessionFactory.java
@@ -18,9 +18,10 @@
  */
 package org.apache.sshd.common.session.helpers;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.FactoryManager;
 import org.apache.sshd.common.io.IoSession;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * An abstract base factory of sessions.
@@ -33,7 +34,7 @@ public abstract class AbstractSessionFactory<M extends 
FactoryManager, S extends
     private final M manager;
 
     protected AbstractSessionFactory(M manager) {
-        this.manager = ValidateUtils.checkNotNull(manager, "No factory manager 
instance");
+        this.manager = Objects.requireNonNull(manager, "No factory manager 
instance");
     }
 
     public M getFactoryManager() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/PendingWriteFuture.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/PendingWriteFuture.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/PendingWriteFuture.java
index 7df29c4..bfc7e46 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/PendingWriteFuture.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/PendingWriteFuture.java
@@ -18,10 +18,11 @@
  */
 package org.apache.sshd.common.session.helpers;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.future.SshFutureListener;
 import org.apache.sshd.common.io.AbstractIoWriteFuture;
 import org.apache.sshd.common.io.IoWriteFuture;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 
 /**
@@ -34,7 +35,7 @@ public class PendingWriteFuture extends AbstractIoWriteFuture 
implements SshFutu
 
     public PendingWriteFuture(Buffer buffer) {
         super(null);
-        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided");
+        this.buffer = Objects.requireNonNull(buffer, "No buffer provided");
     }
 
     public Buffer getBuffer() {
@@ -46,7 +47,7 @@ public class PendingWriteFuture extends AbstractIoWriteFuture 
implements SshFutu
     }
 
     public void setException(Throwable cause) {
-        ValidateUtils.checkNotNull(cause, "No cause specified");
+        Objects.requireNonNull(cause, "No cause specified");
         setValue(cause);
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
index e9a25c7..e6c4b9f 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/AbstractSignature.java
@@ -23,6 +23,7 @@ import java.security.GeneralSecurityException;
 import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.SignatureException;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.NumberUtils;
 import org.apache.sshd.common.util.Pair;
@@ -74,15 +75,15 @@ public abstract class AbstractSignature implements 
Signature {
     @Override
     public void initVerifier(PublicKey key) throws Exception {
         String algo = getAlgorithm();
-        signatureInstance = ValidateUtils.checkNotNull(doInitSignature(algo, 
false), "No signature instance create");
-        signatureInstance.initVerify(ValidateUtils.checkNotNull(key, "No 
public key provided"));
+        signatureInstance = Objects.requireNonNull(doInitSignature(algo, 
false), "No signature instance create");
+        signatureInstance.initVerify(Objects.requireNonNull(key, "No public 
key provided"));
     }
 
     @Override
     public void initSigner(PrivateKey key) throws Exception {
         String algo = getAlgorithm();
-        signatureInstance = ValidateUtils.checkNotNull(doInitSignature(algo, 
true), "No signature instance create");
-        signatureInstance.initSign(ValidateUtils.checkNotNull(key, "No private 
key provided"));
+        signatureInstance = Objects.requireNonNull(doInitSignature(algo, 
true), "No signature instance create");
+        signatureInstance.initSign(Objects.requireNonNull(key, "No private key 
provided"));
     }
 
     @Override
@@ -92,7 +93,7 @@ public abstract class AbstractSignature implements Signature {
 
     @Override
     public void update(byte[] hash, int off, int len) throws Exception {
-        java.security.Signature signature = 
ValidateUtils.checkNotNull(getSignature(), "Signature not initialized");
+        java.security.Signature signature = 
Objects.requireNonNull(getSignature(), "Signature not initialized");
         signature.update(hash, off, len);
     }
 
@@ -137,7 +138,7 @@ public abstract class AbstractSignature implements 
Signature {
     }
 
     protected boolean doVerify(byte[] data) throws SignatureException {
-        java.security.Signature signature = 
ValidateUtils.checkNotNull(getSignature(), "Signature not initialized");
+        java.security.Signature signature = 
Objects.requireNonNull(getSignature(), "Signature not initialized");
         return signature.verify(data);
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
index a586bfe..0a3914f 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/BuiltinSignatures.java
@@ -27,6 +27,7 @@ import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeMap;
@@ -140,7 +141,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      *                                  with the same name (case 
<U>insensitive</U>).
      */
     public static void registerExtension(SignatureFactory extension) {
-        String name = ValidateUtils.checkNotNull(extension, "No extension 
provided").getName();
+        String name = Objects.requireNonNull(extension, "No extension 
provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension 
overrides built-in: %s", name);
 
         synchronized (EXTENSIONS) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
index 8f95a46..1552f74 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureDSA.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.signature;
 import java.io.StreamCorruptedException;
 import java.math.BigInteger;
 import java.security.SignatureException;
+import java.util.Objects;
 
 import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.apache.sshd.common.util.NumberUtils;
@@ -54,7 +55,7 @@ public class SignatureDSA extends AbstractSignature {
 
     @Override
     public byte[] sign() throws Exception {
-        java.security.Signature signature = 
ValidateUtils.checkNotNull(getSignature(), "Signature not initialized");
+        java.security.Signature signature = 
Objects.requireNonNull(getSignature(), "Signature not initialized");
         byte[] sig = signature.sign();
 
         try (DERParser parser = new DERParser(sig)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
index 41bb88e..6fc1571 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureECDSA.java
@@ -20,6 +20,7 @@ package org.apache.sshd.common.signature;
 
 import java.io.StreamCorruptedException;
 import java.math.BigInteger;
+import java.util.Objects;
 
 import org.apache.sshd.common.cipher.ECCurves;
 import org.apache.sshd.common.util.Pair;
@@ -66,7 +67,7 @@ public class SignatureECDSA extends AbstractSignature {
 
     @Override
     public byte[] sign() throws Exception {
-        java.security.Signature signature = 
ValidateUtils.checkNotNull(getSignature(), "Signature not initialized");
+        java.security.Signature signature = 
Objects.requireNonNull(getSignature(), "Signature not initialized");
         byte[] sig = signature.sign();
 
         try (DERParser parser = new DERParser(sig)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java 
b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
index bc96d08..cb5e5d3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/SignatureRSA.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.signature;
 import java.math.BigInteger;
 import java.security.PublicKey;
 import java.security.interfaces.RSAKey;
+import java.util.Objects;
 
 import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.apache.sshd.common.util.Pair;
@@ -47,7 +48,7 @@ public class SignatureRSA extends AbstractSignature {
 
     @Override
     public byte[] sign() throws Exception {
-        java.security.Signature signature = 
ValidateUtils.checkNotNull(getSignature(), "Signature not initialized");
+        java.security.Signature signature = 
Objects.requireNonNull(getSignature(), "Signature not initialized");
         return signature.sign();
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpHelper.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpHelper.java 
b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpHelper.java
index b0d6a21..ab99ffc 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpHelper.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/SftpHelper.java
@@ -608,8 +608,8 @@ public final class SftpHelper {
         buffer.putInt(numExtensions);
         if (numExtensions > 0) {
             for (Map.Entry<?, ?> ee : extensions.entrySet()) {
-                Object key = ValidateUtils.checkNotNull(ee.getKey(), "No 
extension type");
-                Object value = ValidateUtils.checkNotNull(ee.getValue(), "No 
extension value");
+                Object key = Objects.requireNonNull(ee.getKey(), "No extension 
type");
+                Object value = Objects.requireNonNull(ee.getValue(), "No 
extension value");
                 buffer.putString(key.toString());
                 if (value instanceof byte[]) {
                     buffer.putBytes((byte[]) value);
@@ -803,7 +803,7 @@ public final class SftpHelper {
     }
 
     public static void encodeACLs(Buffer buffer, int version, Collection<? 
extends AclEntry> acl) {
-        ValidateUtils.checkNotNull(acl, "No ACL");
+        Objects.requireNonNull(acl, "No ACL");
         if (version >= SftpConstants.SFTP_V6) {
             buffer.putInt(0);   // TODO handle ACL flags
         }
@@ -818,7 +818,7 @@ public final class SftpHelper {
     }
 
     public static void writeAclEntry(Buffer buffer, AclEntry acl) {
-        ValidateUtils.checkNotNull(acl, "No ACL");
+        Objects.requireNonNull(acl, "No ACL");
 
         AclEntryType type = acl.type();
         int aclType = encodeAclEntryType(type);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
index ed39577..e10c39d 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/ParserUtils.java
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.TreeSet;
@@ -37,7 +38,6 @@ import 
org.apache.sshd.common.subsystem.sftp.extensions.openssh.HardLinkExtensio
 import 
org.apache.sshd.common.subsystem.sftp.extensions.openssh.PosixRenameExtensionParser;
 import 
org.apache.sshd.common.subsystem.sftp.extensions.openssh.StatVfsExtensionParser;
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -80,7 +80,7 @@ public final class ParserUtils {
      * for this extension name
      */
     public static ExtensionParser<?> registerParser(ExtensionParser<?> parser) 
{
-        ValidateUtils.checkNotNull(parser, "No parser instance");
+        Objects.requireNonNull(parser, "No parser instance");
 
         synchronized (PARSERS_MAP) {
             return PARSERS_MAP.put(parser.getName(), parser);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
index 7bd7526..3304766 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/util/EventListenerUtils.java
@@ -187,9 +187,9 @@ public final class EventListenerUtils {
      * @see #proxyWrapper(Class, ClassLoader, Iterable)
      */
     public static <T extends EventListener> T proxyWrapper(Class<T> 
listenerType, ClassLoader loader, final Iterable<? extends T> listeners) {
-        ValidateUtils.checkNotNull(listenerType, "No listener type specified");
+        Objects.requireNonNull(listenerType, "No listener type specified");
         ValidateUtils.checkTrue(listenerType.isInterface(), "Target proxy is 
not an interface: %s", listenerType.getSimpleName());
-        ValidateUtils.checkNotNull(listeners, "No listeners container 
provided");
+        Objects.requireNonNull(listeners, "No listeners container provided");
 
         Object wrapper = Proxy.newProxyInstance(loader, new 
Class<?>[]{listenerType}, (proxy, method, args) -> {
             Throwable err = null;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
index 07928ae..6aab184 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/GenericUtils.java
@@ -419,7 +419,7 @@ public final class GenericUtils {
             return Collections.emptyMap();
         }
 
-        Map<V, K> result = ValidateUtils.checkNotNull(mapCreator.create(), "No 
map created");
+        Map<V, K> result = Objects.requireNonNull(mapCreator.create(), "No map 
created");
         for (Map.Entry<? extends K, ? extends V> ee : map.entrySet()) {
             K key = ee.getKey();
             V value = ee.getValue();
@@ -625,22 +625,12 @@ public final class GenericUtils {
 
     /**
      * Wraps a value into a {@link Supplier}
-     * @param <T>   Type of value being supplied
+     * @param <T> Type of value being supplied
      * @param value The value to be supplied
      * @return The supplier wrapper
      */
-    public static <T> Supplier<T> supplierOf(final T value) {
-        return new Supplier<T>() {
-            @Override
-            public T get() {
-                return value;
-            }
-
-            @Override
-            public String toString() {
-                return Supplier.class.getSimpleName() + "[" + value + "]";
-            }
-        };
+    public static <T> Supplier<T> supplierOf(T value) {
+        return () -> value;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
index cb8ed8e..8ea1a76 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SelectorUtils.java
@@ -607,7 +607,7 @@ public final class SelectorUtils {
      * @see #translateToLocalFileSystemPath(String, char, String)
      */
     public static String translateToLocalFileSystemPath(String path, char 
pathSeparator, FileSystem fs) {
-        return translateToLocalFileSystemPath(path, pathSeparator,  
ValidateUtils.checkNotNull(fs, "No target file system").getSeparator());
+        return translateToLocalFileSystemPath(path, pathSeparator,  
Objects.requireNonNull(fs, "No target file system").getSeparator());
     }
 
     /**
@@ -785,7 +785,7 @@ public final class SelectorUtils {
      * @see #translateToFileSystemPath(String, String, String)
      */
     public static String translateToFileSystemPath(String path, String 
pathSeparator, FileSystem fs) {
-        return translateToFileSystemPath(path, pathSeparator, 
ValidateUtils.checkNotNull(fs, "No target file system").getSeparator());
+        return translateToFileSystemPath(path, pathSeparator, 
Objects.requireNonNull(fs, "No target file system").getSeparator());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
index a83abc3..c4a1d5d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/Buffer.java
@@ -49,6 +49,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Objects;
 import java.util.logging.Level;
 
 import org.apache.sshd.common.PropertyResolver;
@@ -62,7 +63,6 @@ import org.apache.sshd.common.util.Int2IntFunction;
 import org.apache.sshd.common.util.Readable;
 import org.apache.sshd.common.util.SecurityUtils;
 import org.apache.sshd.common.util.Transformer;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.keys.BufferPublicKeyParser;
 import org.apache.sshd.common.util.logging.SimplifiedLog;
 
@@ -382,7 +382,7 @@ public abstract class Buffer implements Readable {
      * @throws SshException If failed to extract the key
      */
     public PublicKey getRawPublicKey(BufferPublicKeyParser<? extends 
PublicKey> parser) throws SshException {
-        ValidateUtils.checkNotNull(parser, "No key data parser");
+        Objects.requireNonNull(parser, "No key data parser");
         try {
             String keyType = getString();
             if (!parser.isKeyTypeSupported(keyType)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/keys/AbstractBufferPublicKeyParser.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/keys/AbstractBufferPublicKeyParser.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/keys/AbstractBufferPublicKeyParser.java
index 247e7ef..2cca99f 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/keys/AbstractBufferPublicKeyParser.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/keys/AbstractBufferPublicKeyParser.java
@@ -27,6 +27,7 @@ import java.security.spec.KeySpec;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.SecurityUtils;
@@ -45,7 +46,7 @@ public abstract class AbstractBufferPublicKeyParser<PUB 
extends PublicKey> imple
     }
 
     protected AbstractBufferPublicKeyParser(Class<PUB> keyClass, 
Collection<String> supported) {
-        this.keyClass = ValidateUtils.checkNotNull(keyClass, "No key class");
+        this.keyClass = Objects.requireNonNull(keyClass, "No key class");
         this.supported = ValidateUtils.checkNotNullAndNotEmpty(supported, "No 
supported types for %s", keyClass.getSimpleName());
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/AbstractInnerCloseable.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/AbstractInnerCloseable.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/AbstractInnerCloseable.java
index 949d04d..d813f11 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/AbstractInnerCloseable.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/AbstractInnerCloseable.java
@@ -25,7 +25,6 @@ import org.apache.sshd.common.future.CloseFuture;
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
  */
 public abstract class AbstractInnerCloseable extends AbstractCloseable {
-
     protected AbstractInnerCloseable() {
         this("");
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/Builder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/Builder.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/Builder.java
index 9dad9b0..25953a5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/Builder.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/Builder.java
@@ -22,22 +22,21 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.sshd.common.Closeable;
 import org.apache.sshd.common.future.SshFuture;
 import org.apache.sshd.common.util.ObjectBuilder;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
  */
 public final class Builder implements ObjectBuilder<Closeable> {
-
     private final Object lock;
     private final List<Closeable> closeables = new ArrayList<>();
 
     public Builder(Object lock) {
-        this.lock = ValidateUtils.checkNotNull(lock, "No lock");
+        this.lock = Objects.requireNonNull(lock, "No lock");
     }
 
     public Builder run(final Runnable r) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERWriter.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERWriter.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERWriter.java
index 09999cd..4bc3fdc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERWriter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/DERWriter.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.StreamCorruptedException;
 import java.math.BigInteger;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.NumberUtils;
 import org.apache.sshd.common.util.ValidateUtils;
@@ -49,11 +50,11 @@ public class DERWriter extends FilterOutputStream {
     }
 
     public DERWriter(OutputStream stream) {
-        super(ValidateUtils.checkNotNull(stream, "No output stream"));
+        super(Objects.requireNonNull(stream, "No output stream"));
     }
 
     public void writeBigInteger(BigInteger value) throws IOException {
-        writeBigInteger(ValidateUtils.checkNotNull(value, "No 
value").toByteArray());
+        writeBigInteger(Objects.requireNonNull(value, "No 
value").toByteArray());
     }
 
     public void writeBigInteger(byte... bytes) throws IOException {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/io/ModifiableFileWatcher.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/io/ModifiableFileWatcher.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/util/io/ModifiableFileWatcher.java
index da3aace..d1f057c 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/util/io/ModifiableFileWatcher.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/util/io/ModifiableFileWatcher.java
@@ -39,7 +39,6 @@ import java.util.concurrent.atomic.AtomicLong;
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.OsUtils;
 import org.apache.sshd.common.util.Pair;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.logging.AbstractLoggingBean;
 
 /**
@@ -66,7 +65,7 @@ public class ModifiableFileWatcher extends 
AbstractLoggingBean {
     private final AtomicLong lastModified = new AtomicLong(-1L);
 
     public ModifiableFileWatcher(File file) {
-        this(ValidateUtils.checkNotNull(file, "No file to watch").toPath());
+        this(Objects.requireNonNull(file, "No file to watch").toPath());
     }
 
     public ModifiableFileWatcher(Path file) {
@@ -74,7 +73,7 @@ public class ModifiableFileWatcher extends 
AbstractLoggingBean {
     }
 
     public ModifiableFileWatcher(Path file, LinkOption... options) {
-        this.file = ValidateUtils.checkNotNull(file, "No path to watch");
+        this.file = Objects.requireNonNull(file, "No path to watch");
         // use a clone to avoid being sensitive to changes in the passed array
         this.options = (options == null) ? IoUtils.EMPTY_LINK_OPTIONS : 
options.clone();
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/util/net/SshdSocketAddress.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/net/SshdSocketAddress.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/util/net/SshdSocketAddress.java
index 08b277b..c853e88 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/util/net/SshdSocketAddress.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/util/net/SshdSocketAddress.java
@@ -95,7 +95,7 @@ public class SshdSocketAddress extends SocketAddress {
     }
 
     public SshdSocketAddress(String hostName, int port) {
-        ValidateUtils.checkNotNull(hostName, "Host name may not be null");
+        Objects.requireNonNull(hostName, "Host name may not be null");
         this.hostName = GenericUtils.isEmpty(hostName) ? IP_ANYADDR : hostName;
 
         ValidateUtils.checkTrue(port >= 0, "Port must be >= 0: %d", port);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java 
b/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
index b55fd59..253d648 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/SshServer.java
@@ -277,8 +277,8 @@ public class SshServer extends AbstractFactoryManager 
implements ServerFactoryMa
         
setUserAuthFactories(ValidateUtils.checkNotNullAndNotEmpty(authFactories, 
"UserAuthFactories not set"));
 
         ValidateUtils.checkNotNullAndNotEmpty(getChannelFactories(), 
"ChannelFactories not set");
-        ValidateUtils.checkNotNull(getKeyPairProvider(), "HostKeyProvider not 
set");
-        ValidateUtils.checkNotNull(getFileSystemFactory(), "FileSystemFactory 
not set");
+        Objects.requireNonNull(getKeyPairProvider(), "HostKeyProvider not 
set");
+        Objects.requireNonNull(getFileSystemFactory(), "FileSystemFactory not 
set");
 
         if (GenericUtils.isEmpty(getServiceFactories())) {
             setServiceFactories(DEFAULT_SERVICE_FACTORIES);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/StandardEnvironment.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/StandardEnvironment.java 
b/sshd-core/src/main/java/org/apache/sshd/server/StandardEnvironment.java
index 22206c4..b202659 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/StandardEnvironment.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/StandardEnvironment.java
@@ -21,6 +21,7 @@ package org.apache.sshd.server;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sshd.common.channel.PtyMode;
@@ -60,7 +61,7 @@ public class StandardEnvironment extends AbstractLoggingBean 
implements Environm
      */
     @Override
     public void addSignalListener(SignalListener listener, Collection<Signal> 
signals) {
-        ValidateUtils.checkNotNull(listener, "No listener instance");
+        Objects.requireNonNull(listener, "No listener instance");
         ValidateUtils.checkNotNullAndNotEmpty(signals, "No signals");
 
         for (Signal s : signals) {
@@ -80,7 +81,7 @@ public class StandardEnvironment extends AbstractLoggingBean 
implements Environm
 
     @Override
     public void removeSignalListener(SignalListener listener) {
-        ValidateUtils.checkNotNull(listener, "No listener instance");
+        Objects.requireNonNull(listener, "No listener instance");
         for (Signal s : Signal.SIGNALS) {
             Collection<SignalListener> ls = getSignalListeners(s, false);
             if (ls != null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
index 7211b09..cc87f24 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/AbstractUserAuth.java
@@ -18,6 +18,8 @@
  */
 package org.apache.sshd.server.auth;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.logging.AbstractLoggingBean;
@@ -62,7 +64,7 @@ public abstract class AbstractUserAuth extends 
AbstractLoggingBean implements Us
 
     @Override
     public Boolean auth(ServerSession session, String username, String 
service, Buffer buffer) throws Exception {
-        this.session = ValidateUtils.checkNotNull(session, "No server 
session");
+        this.session = Objects.requireNonNull(session, "No server session");
         this.username = username;
         this.service = service;
         return doAuth(buffer, true);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
index 1687cd1..b8b314a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/UserAuthGSS.java
@@ -18,6 +18,8 @@
  */
 package org.apache.sshd.server.auth.gss;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.SshConstants;
 import org.apache.sshd.common.SshException;
 import org.apache.sshd.common.util.NumberUtils;
@@ -59,7 +61,7 @@ public class UserAuthGSS extends AbstractUserAuth {
     @Override
     protected Boolean doAuth(Buffer buffer, boolean initial) throws Exception {
         ServerSession session = getServerSession();
-        GSSAuthenticator auth = 
ValidateUtils.checkNotNull(session.getGSSAuthenticator(), "No GSSAuthenticator 
configured");
+        GSSAuthenticator auth = 
Objects.requireNonNull(session.getGSSAuthenticator(), "No GSSAuthenticator 
configured");
 
         if (initial) {
             // Get mechanism count from buffer and look for Kerberos 5.

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/auth/keyboard/InteractiveChallenge.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/keyboard/InteractiveChallenge.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/keyboard/InteractiveChallenge.java
index 1bbe2fc..94c0be2 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/keyboard/InteractiveChallenge.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/keyboard/InteractiveChallenge.java
@@ -22,9 +22,9 @@ package org.apache.sshd.server.auth.keyboard;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 
 /**
@@ -72,7 +72,7 @@ public class InteractiveChallenge implements Cloneable {
     }
 
     public void addPrompt(PromptEntry entry) {
-        this.prompts.add(ValidateUtils.checkNotNull(entry, "No entry"));
+        this.prompts.add(Objects.requireNonNull(entry, "No entry"));
     }
 
     public List<PromptEntry> getPrompts() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/CachingPublicKeyAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/CachingPublicKeyAuthenticator.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/CachingPublicKeyAuthenticator.java
index 5f4d49b..5e2fad5 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/CachingPublicKeyAuthenticator.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/CachingPublicKeyAuthenticator.java
@@ -20,13 +20,13 @@ package org.apache.sshd.server.auth.pubkey;
 
 import java.security.PublicKey;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sshd.common.RuntimeSshException;
 import org.apache.sshd.common.config.keys.KeyUtils;
 import org.apache.sshd.common.session.Session;
 import org.apache.sshd.common.session.SessionListener;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.logging.AbstractLoggingBean;
 import org.apache.sshd.server.session.ServerSession;
 
@@ -41,7 +41,7 @@ public class CachingPublicKeyAuthenticator extends 
AbstractLoggingBean implement
     protected final Map<Session, Map<PublicKey, Boolean>> cache = new 
ConcurrentHashMap<>();
 
     public CachingPublicKeyAuthenticator(PublickeyAuthenticator authenticator) 
{
-        this.authenticator = ValidateUtils.checkNotNull(authenticator, "No 
delegate authenticator");
+        this.authenticator = Objects.requireNonNull(authenticator, "No 
delegate authenticator");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
index dda88ed..35f869f 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/channel/AbstractServerChannel.java
@@ -21,6 +21,7 @@ package org.apache.sshd.server.channel;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.sshd.client.future.DefaultOpenFuture;
@@ -34,7 +35,6 @@ import org.apache.sshd.common.channel.RequestHandler;
 import org.apache.sshd.common.channel.Window;
 import org.apache.sshd.common.session.Session;
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.server.session.ServerSession;
 
@@ -69,7 +69,7 @@ public abstract class AbstractServerChannel extends 
AbstractChannel implements S
         setRecipient(recipient);
 
         Session s = getSession();
-        FactoryManager manager = 
ValidateUtils.checkNotNull(s.getFactoryManager(), "No factory manager");
+        FactoryManager manager = Objects.requireNonNull(s.getFactoryManager(), 
"No factory manager");
         Window wRemote = getRemoteWindow();
         wRemote.init(rwSize, packetSize, manager.getProperties());
         configureWindow();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java 
b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
index 65fda21..fcdc6bd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
@@ -173,8 +173,8 @@ public class ChannelSession extends AbstractServerChannel {
                 }
 
                 Session s = channel.getSession();
-                FactoryManager manager = 
ValidateUtils.checkNotNull(s.getFactoryManager(), "No factory manager");
-                ScheduledExecutorService scheduler = 
ValidateUtils.checkNotNull(manager.getScheduledExecutorService(), "No 
scheduling service");
+                FactoryManager manager = 
Objects.requireNonNull(s.getFactoryManager(), "No factory manager");
+                ScheduledExecutorService scheduler = 
Objects.requireNonNull(manager.getScheduledExecutorService(), "No scheduling 
service");
                 scheduler.schedule(task, timeout, TimeUnit.MILLISECONDS);
                 commandExitFuture.addListener(future -> task.cancel());
             }
@@ -472,8 +472,8 @@ public class ChannelSession extends AbstractServerChannel {
             return RequestHandler.Result.ReplyFailure;
         }
 
-        ServerFactoryManager manager = 
ValidateUtils.checkNotNull(getServerSession(), "No server 
session").getFactoryManager();
-        Factory<Command> factory = ValidateUtils.checkNotNull(manager, "No 
server factory manager").getShellFactory();
+        ServerFactoryManager manager = 
Objects.requireNonNull(getServerSession(), "No server 
session").getFactoryManager();
+        Factory<Command> factory = Objects.requireNonNull(manager, "No server 
factory manager").getShellFactory();
         if (factory == null) {
             if (log.isDebugEnabled()) {
                 log.debug("handleShell({}) - no shell factory", this);
@@ -509,8 +509,8 @@ public class ChannelSession extends AbstractServerChannel {
         }
 
         String commandLine = buffer.getString();
-        ServerFactoryManager manager = 
ValidateUtils.checkNotNull(getServerSession(), "No server 
session").getFactoryManager();
-        CommandFactory factory = ValidateUtils.checkNotNull(manager, "No 
server factory manager").getCommandFactory();
+        ServerFactoryManager manager = 
Objects.requireNonNull(getServerSession(), "No server 
session").getFactoryManager();
+        CommandFactory factory = Objects.requireNonNull(manager, "No server 
factory manager").getCommandFactory();
         if (factory == null) {
             log.warn("handleExec({}) No command factory for command: {}", 
this, commandLine);
             return RequestHandler.Result.ReplyFailure;
@@ -547,8 +547,8 @@ public class ChannelSession extends AbstractServerChannel {
                       this, wantReply, subsystem);
         }
 
-        ServerFactoryManager manager = 
ValidateUtils.checkNotNull(getServerSession(), "No server 
session").getFactoryManager();
-        List<NamedFactory<Command>> factories = 
ValidateUtils.checkNotNull(manager, "No server factory 
manager").getSubsystemFactories();
+        ServerFactoryManager manager = 
Objects.requireNonNull(getServerSession(), "No server 
session").getFactoryManager();
+        List<NamedFactory<Command>> factories = 
Objects.requireNonNull(manager, "No server factory 
manager").getSubsystemFactories();
         if (GenericUtils.isEmpty(factories)) {
             log.warn("handleSubsystem({}) No factories for subsystem: {}", 
this, subsystem);
             return RequestHandler.Result.ReplyFailure;
@@ -698,7 +698,7 @@ public class ChannelSession extends AbstractServerChannel {
 
     protected RequestHandler.Result handleAgentForwarding(String requestType, 
Buffer buffer, boolean wantReply) throws IOException {
         ServerSession session = getServerSession();
-        FactoryManager manager = 
ValidateUtils.checkNotNull(session.getFactoryManager(), "No session factory 
manager");
+        FactoryManager manager = 
Objects.requireNonNull(session.getFactoryManager(), "No session factory 
manager");
         ForwardingFilter filter = manager.getTcpipForwardingFilter();
         SshAgentFactory factory = manager.getAgentFactory();
         try {
@@ -737,7 +737,7 @@ public class ChannelSession extends AbstractServerChannel {
         String authCookie = buffer.getString();
         int screenId = buffer.getInt();
 
-        FactoryManager manager = 
ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager");
+        FactoryManager manager = 
Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
         ForwardingFilter filter = manager.getTcpipForwardingFilter();
         try {
             if ((filter == null) || (!filter.canForwardX11(session, 
requestType))) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java
index c2884b9..9bce5bc 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeysAuthenticator.java
@@ -30,13 +30,13 @@ import java.security.PublicKey;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.sshd.common.config.keys.AuthorizedKeyEntry;
 import org.apache.sshd.common.config.keys.PublicKeyEntry;
 import org.apache.sshd.common.config.keys.PublicKeyEntryResolver;
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.io.IoUtils;
 import org.apache.sshd.common.util.io.ModifiableFileWatcher;
 import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator;
@@ -67,7 +67,7 @@ public class AuthorizedKeysAuthenticator extends 
ModifiableFileWatcher implement
             new AtomicReference<>(RejectAllPublickeyAuthenticator.INSTANCE);
 
     public AuthorizedKeysAuthenticator(File file) {
-        this(ValidateUtils.checkNotNull(file, "No file to watch").toPath());
+        this(Objects.requireNonNull(file, "No file to watch").toPath());
     }
 
     public AuthorizedKeysAuthenticator(Path file) {
@@ -89,7 +89,7 @@ public class AuthorizedKeysAuthenticator extends 
ModifiableFileWatcher implement
 
         try {
             PublickeyAuthenticator delegate =
-                    
ValidateUtils.checkNotNull(resolvePublickeyAuthenticator(username, session), 
"No delegate");
+                    
Objects.requireNonNull(resolvePublickeyAuthenticator(username, session), "No 
delegate");
             boolean accepted = delegate.authenticate(username, key, session);
             if (log.isDebugEnabled()) {
                 log.debug("authenticate(" + username + ")[" + session + "][" + 
key.getAlgorithm() + "] accepted " + accepted + " from " + getPath());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/config/keys/DefaultAuthorizedKeysAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/DefaultAuthorizedKeysAuthenticator.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/DefaultAuthorizedKeysAuthenticator.java
index ea9579f..f2da274 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/DefaultAuthorizedKeysAuthenticator.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/DefaultAuthorizedKeysAuthenticator.java
@@ -27,6 +27,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.PosixFilePermission;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 
 import org.apache.sshd.common.auth.UsernameHolder;
 import org.apache.sshd.common.config.keys.AuthorizedKeyEntry;
@@ -69,11 +70,11 @@ public class DefaultAuthorizedKeysAuthenticator extends 
AuthorizedKeysAuthentica
     }
 
     public DefaultAuthorizedKeysAuthenticator(File file, boolean strict) {
-        this(ValidateUtils.checkNotNull(file, "No file provided").toPath(), 
strict, IoUtils.getLinkOptions(false));
+        this(Objects.requireNonNull(file, "No file provided").toPath(), 
strict, IoUtils.getLinkOptions(false));
     }
 
     public DefaultAuthorizedKeysAuthenticator(String user, File file, boolean 
strict) {
-        this(user, ValidateUtils.checkNotNull(file, "No file 
provided").toPath(), strict, IoUtils.getLinkOptions(false));
+        this(user, Objects.requireNonNull(file, "No file provided").toPath(), 
strict, IoUtils.getLinkOptions(false));
     }
 
     public DefaultAuthorizedKeysAuthenticator(Path path, boolean strict, 
LinkOption... options) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
index 6bb0918..d33c47b 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/forward/TcpipServerChannel.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.net.ConnectException;
 import java.util.Collection;
+import java.util.Objects;
 import java.util.concurrent.ExecutorService;
 
 import org.apache.sshd.client.future.DefaultOpenFuture;
@@ -129,9 +130,9 @@ public class TcpipServerChannel extends 
AbstractServerChannel {
         }
 
         Session session = getSession();
-        FactoryManager manager = 
ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager");
+        FactoryManager manager = 
Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
         ForwardingFilter filter = manager.getTcpipForwardingFilter();
-        final OpenFuture f = new DefaultOpenFuture(this);
+        OpenFuture f = new DefaultOpenFuture(this);
         try {
             if ((address == null) || (filter == null) || 
(!filter.canConnect(type, address, session))) {
                 if (log.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
index 9d28504..c471837 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/global/CancelTcpipForwardHandler.java
@@ -18,13 +18,14 @@
  */
 package org.apache.sshd.server.global;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.SshConstants;
 import org.apache.sshd.common.forward.TcpipForwarder;
 import org.apache.sshd.common.session.ConnectionService;
 import org.apache.sshd.common.session.Session;
 import 
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler;
 import org.apache.sshd.common.util.Int2IntFunction;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.net.SshdSocketAddress;
 
@@ -60,7 +61,7 @@ public class CancelTcpipForwardHandler extends 
AbstractConnectionServiceRequestH
             log.debug("process({})[{}] {} reply={}", connectionService, 
request, socketAddress, wantReply);
         }
 
-        TcpipForwarder forwarder = 
ValidateUtils.checkNotNull(connectionService.getTcpipForwarder(), "No TCP/IP 
forwarder");
+        TcpipForwarder forwarder = 
Objects.requireNonNull(connectionService.getTcpipForwarder(), "No TCP/IP 
forwarder");
         forwarder.localPortForwardingCancelled(socketAddress);
 
         if (wantReply) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/global/OpenSshHostKeysHandler.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/global/OpenSshHostKeysHandler.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/global/OpenSshHostKeysHandler.java
index ce54b2d..785c717 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/global/OpenSshHostKeysHandler.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/global/OpenSshHostKeysHandler.java
@@ -23,6 +23,7 @@ import java.security.KeyPair;
 import java.security.PublicKey;
 import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.sshd.common.NamedFactory;
 import org.apache.sshd.common.NamedResource;
@@ -100,7 +101,7 @@ public class OpenSshHostKeysHandler extends 
AbstractOpenSshHostKeysHandler imple
 
         Buffer buf = new ByteArrayBuffer();
         byte[] sessionId = session.getSessionId();
-        KeyPairProvider kpp = 
ValidateUtils.checkNotNull(session.getKeyPairProvider(), "No server keys 
provider");
+        KeyPairProvider kpp = 
Objects.requireNonNull(session.getKeyPairProvider(), "No server keys provider");
         for (PublicKey k : keys) {
             String keyType = KeyUtils.getKeyType(k);
             Signature verifier = ValidateUtils.checkNotNull(

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
index 325b899..b1c9f3e 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/global/TcpipForwardHandler.java
@@ -18,13 +18,14 @@
  */
 package org.apache.sshd.server.global;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.SshConstants;
 import org.apache.sshd.common.forward.TcpipForwarder;
 import org.apache.sshd.common.session.ConnectionService;
 import org.apache.sshd.common.session.Session;
 import 
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler;
 import org.apache.sshd.common.util.Int2IntFunction;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.net.SshdSocketAddress;
 
@@ -57,7 +58,7 @@ public class TcpipForwardHandler extends 
AbstractConnectionServiceRequestHandler
         String address = buffer.getString();
         int port = buffer.getInt();
         SshdSocketAddress socketAddress = new SshdSocketAddress(address, port);
-        TcpipForwarder forwarder = 
ValidateUtils.checkNotNull(connectionService.getTcpipForwarder(), "No TCP/IP 
forwarder");
+        TcpipForwarder forwarder = 
Objects.requireNonNull(connectionService.getTcpipForwarder(), "No TCP/IP 
forwarder");
         SshdSocketAddress bound = 
forwarder.localPortForwardingRequested(socketAddress);
         if (log.isDebugEnabled()) {
             log.debug("process({})[{}][want-reply-{}] {} => {}",

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
 
b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
index 589d702..60a1406 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/server/kex/AbstractDHServerKeyExchange.java
@@ -20,6 +20,7 @@
 package org.apache.sshd.server.kex;
 
 import java.security.PublicKey;
+import java.util.Objects;
 
 import org.apache.sshd.common.kex.dh.AbstractDHKeyExchange;
 import org.apache.sshd.common.session.Session;
@@ -31,7 +32,6 @@ import org.apache.sshd.server.session.ServerSessionHolder;
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
  */
 public abstract class AbstractDHServerKeyExchange extends 
AbstractDHKeyExchange implements ServerSessionHolder {
-
     protected AbstractDHServerKeyExchange() {
         super();
     }
@@ -50,6 +50,6 @@ public abstract class AbstractDHServerKeyExchange extends 
AbstractDHKeyExchange
     @Override
     public PublicKey getServerKey() {
         ServerSession session = getServerSession();
-        return ValidateUtils.checkNotNull(session.getHostKey(), "No server key 
pair available").getPublic();
+        return Objects.requireNonNull(session.getHostKey(), "No server key 
pair available").getPublic();
     }
 }

Reply via email to