http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpClient.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpClient.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpClient.java
index 1159151..a9b7b67 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpClient.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpClient.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.concurrent.atomic.AtomicReference;
 
 import org.apache.sshd.client.channel.ClientChannel;
@@ -433,7 +434,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
     protected void writeAttributes(Buffer buffer, Attributes attributes) 
throws IOException {
         int version = getVersion();
         int flagsMask = 0;
-        Collection<Attribute> flags = ValidateUtils.checkNotNull(attributes, 
"No attributes").getFlags();
+        Collection<Attribute> flags = Objects.requireNonNull(attributes, "No 
attributes").getFlags();
         if (version == SftpConstants.SFTP_V3) {
             for (Attribute a : flags) {
                 switch (a) {
@@ -634,7 +635,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
             log.trace("close({}) {}", getClientSession(), handle);
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Long.SIZE /* some 
extra fields */, false);
         buffer.putBytes(id);
         checkCommandStatus(SftpConstants.SSH_FXP_CLOSE, buffer);
@@ -704,7 +705,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
             throw new IOException("read(" + handle + "/" + fileOffset + ")[" + 
dstOffset + "/" + len + "] client is closed");
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Long.SIZE /* some 
extra fields */, false);
         buffer.putBytes(id);
         buffer.putLong(fileOffset);
@@ -796,7 +797,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
                       getClientChannel(), handle, fileOffset, srcOffset, len);
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + len + Long.SIZE /* 
some extra fields */, false);
         buffer.putBytes(id);
         buffer.putLong(fileOffset);
@@ -867,7 +868,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
             throw new IOException("readDir(" + handle + ") client is closed");
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Byte.SIZE /* some 
extra fields */, false);
         buffer.putBytes(id);
 
@@ -1000,7 +1001,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
             throw new IOException("stat(" + handle + ") client is closed");
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Byte.SIZE /* a bit 
extra */, false);
         buffer.putBytes(id);
 
@@ -1037,7 +1038,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
         if (log.isDebugEnabled()) {
             log.debug("setStat({})[{}]: {}", getClientSession(), handle, 
attributes);
         }
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + (2 * Long.SIZE) /* 
some extras */, false);
         buffer.putBytes(id);
         writeAttributes(buffer, attributes);
@@ -1093,7 +1094,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
                       getClientSession(), handle, offset, length, 
Integer.toHexString(mask));
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Long.SIZE /* a bit 
extra */, false);
         buffer.putBytes(id);
         buffer.putLong(offset);
@@ -1112,7 +1113,7 @@ public abstract class AbstractSftpClient extends 
AbstractSubsystemClient impleme
             log.debug("unlock({})[{}] offset={}, length={}", 
getClientSession(), handle, offset, length);
         }
 
-        byte[] id = ValidateUtils.checkNotNull(handle, "No 
handle").getIdentifier();
+        byte[] id = Objects.requireNonNull(handle, "No 
handle").getIdentifier();
         Buffer buffer = new ByteArrayBuffer(id.length + Long.SIZE /* a bit 
extra */, false);
         buffer.putBytes(id);
         buffer.putLong(offset);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpFileAttributeView.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpFileAttributeView.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpFileAttributeView.java
index 140ac18..71b42a3 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpFileAttributeView.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/AbstractSftpFileAttributeView.java
@@ -24,10 +24,10 @@ import java.nio.file.LinkOption;
 import java.nio.file.NoSuchFileException;
 import java.nio.file.Path;
 import java.nio.file.attribute.FileAttributeView;
+import java.util.Objects;
 
 import org.apache.sshd.common.subsystem.sftp.SftpConstants;
 import org.apache.sshd.common.subsystem.sftp.SftpException;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.logging.AbstractLoggingBean;
 
 /**
@@ -39,8 +39,8 @@ public abstract class AbstractSftpFileAttributeView extends 
AbstractLoggingBean
     protected final LinkOption[] options;
 
     protected AbstractSftpFileAttributeView(SftpFileSystemProvider provider, 
Path path, LinkOption... options) {
-        this.provider = ValidateUtils.checkNotNull(provider, "No file system 
provider instance");
-        this.path = ValidateUtils.checkNotNull(path, "No path");
+        this.provider = Objects.requireNonNull(provider, "No file system 
provider instance");
+        this.path = Objects.requireNonNull(path, "No path");
         this.options = options;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/DefaultSftpClient.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/DefaultSftpClient.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/DefaultSftpClient.java
index 8650332..a8a8bf8 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/DefaultSftpClient.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/DefaultSftpClient.java
@@ -32,6 +32,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.concurrent.TimeUnit;
@@ -68,7 +69,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
     private final Map<String, byte[]> exposedExtensions = 
Collections.unmodifiableMap(extensions);
 
     public DefaultSftpClient(ClientSession clientSession) throws IOException {
-        this.clientSession = ValidateUtils.checkNotNull(clientSession, "No 
client session");
+        this.clientSession = Objects.requireNonNull(clientSession, "No client 
session");
         this.channel = 
clientSession.createSubsystemChannel(SftpConstants.SFTP_SUBSYSTEM_NAME);
         this.channel.setOut(new OutputStream() {
             private final byte[] singleByte = new byte[1];

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpClient.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpClient.java 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpClient.java
index 3fb9b51..68e40e6 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpClient.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpClient.java
@@ -33,6 +33,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.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
@@ -328,7 +329,7 @@ public interface SftpClient extends SubsystemClient {
         }
 
         public void setAccessTime(FileTime atime) {
-            accessTime = ValidateUtils.checkNotNull(atime, "No access time");
+            accessTime = Objects.requireNonNull(atime, "No access time");
             addFlag(Attribute.AccessTime);
         }
 
@@ -350,7 +351,7 @@ public interface SftpClient extends SubsystemClient {
         }
 
         public void setCreateTime(FileTime ctime) {
-            createTime = ValidateUtils.checkNotNull(ctime, "No create time");
+            createTime = Objects.requireNonNull(ctime, "No create time");
             addFlag(Attribute.CreateTime);
         }
 
@@ -372,7 +373,7 @@ public interface SftpClient extends SubsystemClient {
         }
 
         public void setModifyTime(FileTime mtime) {
-            modifyTime = ValidateUtils.checkNotNull(mtime, "No modify time");
+            modifyTime = Objects.requireNonNull(mtime, "No modify time");
             addFlag(Attribute.ModifyTime);
         }
 
@@ -386,7 +387,7 @@ public interface SftpClient extends SubsystemClient {
         }
 
         public void setAcl(List<AclEntry> acl) {
-            this.acl = ValidateUtils.checkNotNull(acl, "No ACLs");
+            this.acl = Objects.requireNonNull(acl, "No ACLs");
             addFlag(Attribute.Acl);
         }
 
@@ -404,7 +405,7 @@ public interface SftpClient extends SubsystemClient {
         }
 
         public void setExtensions(Map<String, byte[]> extensions) {
-            this.extensions = ValidateUtils.checkNotNull(extensions, "No 
extensions");
+            this.extensions = Objects.requireNonNull(extensions, "No 
extensions");
             addFlag(Attribute.Extensions);
         }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpCommand.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpCommand.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpCommand.java
index ff5cef4..46b9d53 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpCommand.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpCommand.java
@@ -79,7 +79,7 @@ public class SftpCommand implements Channel {
 
     @SuppressWarnings("synthetic-access")
     public SftpCommand(SftpClient client) {
-        this.client = ValidateUtils.checkNotNull(client, "No client");
+        this.client = Objects.requireNonNull(client, "No client");
 
         Map<String, CommandExecutor> map = new TreeMap<>();
         for (CommandExecutor e : Arrays.asList(

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystem.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystem.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystem.java
index 96c40a4..a2c01d4 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystem.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystem.java
@@ -45,7 +45,6 @@ import org.apache.sshd.common.PropertyResolverUtils;
 import org.apache.sshd.common.file.util.BaseFileSystem;
 import org.apache.sshd.common.subsystem.sftp.SftpConstants;
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 
 public class SftpFileSystem extends BaseFileSystem<SftpPath> implements 
ClientSessionHolder {
@@ -72,7 +71,7 @@ public class SftpFileSystem extends BaseFileSystem<SftpPath> 
implements ClientSe
     public SftpFileSystem(SftpFileSystemProvider provider, String id, 
ClientSession session, SftpVersionSelector selector) throws IOException {
         super(provider);
         this.id = id;
-        this.clientSession = ValidateUtils.checkNotNull(session, "No client 
session");
+        this.clientSession = Objects.requireNonNull(session, "No client 
session");
         this.selector = selector;
         this.stores = 
Collections.unmodifiableList(Collections.<FileStore>singletonList(new 
SftpFileStore(id, this)));
         this.pool = new 
LinkedBlockingQueue<>(PropertyResolverUtils.getIntProperty(session, 
POOL_SIZE_PROP, DEFAULT_POOL_SIZE));
@@ -547,7 +546,7 @@ public class SftpFileSystem extends 
BaseFileSystem<SftpPath> implements ClientSe
         private final String name;
 
         public DefaultUserPrincipal(String name) {
-            this.name = ValidateUtils.checkNotNull(name, "name is null");
+            this.name = Objects.requireNonNull(name, "name is null");
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystemProvider.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystemProvider.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystemProvider.java
index 90019c2..c2d80af 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystemProvider.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileSystemProvider.java
@@ -974,7 +974,7 @@ public class SftpFileSystemProvider extends 
FileSystemProvider {
     }
 
     public SftpPath toSftpPath(Path path) {
-        ValidateUtils.checkNotNull(path, "No path provided");
+        Objects.requireNonNull(path, "No path provided");
         if (!(path instanceof SftpPath)) {
             throw new ProviderMismatchException("Path is not SFTP: " + path);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpInputStreamWithChannel.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpInputStreamWithChannel.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpInputStreamWithChannel.java
index af208ad..41ba430 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpInputStreamWithChannel.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpInputStreamWithChannel.java
@@ -20,10 +20,10 @@ package org.apache.sshd.client.subsystem.sftp;
 
 import java.io.IOException;
 import java.util.Collection;
+import java.util.Objects;
 
 import org.apache.sshd.client.subsystem.sftp.SftpClient.CloseableHandle;
 import org.apache.sshd.client.subsystem.sftp.SftpClient.OpenMode;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.io.InputStreamWithChannel;
 
 /**
@@ -42,7 +42,7 @@ public class SftpInputStreamWithChannel extends 
InputStreamWithChannel {
     private long offset;
 
     public SftpInputStreamWithChannel(SftpClient client, int bufferSize, 
String path, Collection<OpenMode> mode) throws IOException {
-        this.client = ValidateUtils.checkNotNull(client, "No SFTP client 
instance");
+        this.client = Objects.requireNonNull(client, "No SFTP client 
instance");
         this.path = path;
         bb = new byte[1];
         buffer = new byte[bufferSize];

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpOutputStreamWithChannel.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpOutputStreamWithChannel.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpOutputStreamWithChannel.java
index 97103bf..cf6d972 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpOutputStreamWithChannel.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpOutputStreamWithChannel.java
@@ -20,10 +20,10 @@ package org.apache.sshd.client.subsystem.sftp;
 
 import java.io.IOException;
 import java.util.Collection;
+import java.util.Objects;
 
 import org.apache.sshd.client.subsystem.sftp.SftpClient.CloseableHandle;
 import org.apache.sshd.client.subsystem.sftp.SftpClient.OpenMode;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.io.OutputStreamWithChannel;
 
 /**
@@ -41,7 +41,7 @@ public class SftpOutputStreamWithChannel extends 
OutputStreamWithChannel {
     private long offset;
 
     public SftpOutputStreamWithChannel(SftpClient client, int bufferSize, 
String path, Collection<OpenMode> mode) throws IOException {
-        this.client = ValidateUtils.checkNotNull(client, "No SFTP client 
instance");
+        this.client = Objects.requireNonNull(client, "No SFTP client 
instance");
         this.path = path;
         buffer = new byte[bufferSize];
         handle = client.open(path, mode);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/helpers/AbstractSftpClientExtension.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/helpers/AbstractSftpClientExtension.java
 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/helpers/AbstractSftpClientExtension.java
index ecd60dd..6b179c9 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/helpers/AbstractSftpClientExtension.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/helpers/AbstractSftpClientExtension.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.StreamCorruptedException;
 import java.util.Collection;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.sshd.client.subsystem.sftp.RawSftpClient;
 import org.apache.sshd.client.subsystem.sftp.SftpClient;
@@ -56,8 +57,8 @@ public abstract class AbstractSftpClientExtension extends 
AbstractLoggingBean im
 
     protected AbstractSftpClientExtension(String name, SftpClient client, 
RawSftpClient raw, boolean supported) {
         this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No extension 
name");
-        this.client = ValidateUtils.checkNotNull(client, "No client instance");
-        this.raw = ValidateUtils.checkNotNull(raw, "No raw access");
+        this.client = Objects.requireNonNull(client, "No client instance");
+        this.raw = Objects.requireNonNull(raw, "No raw access");
         this.supported = supported;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/AttributeStore.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/AttributeStore.java 
b/sshd-core/src/main/java/org/apache/sshd/common/AttributeStore.java
index b09a746..4907efa 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/AttributeStore.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/AttributeStore.java
@@ -19,9 +19,10 @@
 
 package org.apache.sshd.common;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.channel.Channel;
 import org.apache.sshd.common.session.Session;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * Provides the capability to attach in-memory attributes to the entity
@@ -95,43 +96,17 @@ public interface AttributeStore {
      * @param <T> The generic attribute type
      * @param key The key of the attribute; must not be {@code null}.
      * @return <tt>null</tt> if there is no value associated with the 
specified key
-     * @see Utils
      */
     <T> T resolveAttribute(AttributeKey<T> key);
 
     /**
-     * A helper class for attribute store related operations
-     * @author <a href="mailto:[email protected]";>Apache MINA SSHD 
Project</a>
-     */
-    // CHECKSTYLE:OFF
-    @Deprecated
-    final class Utils {
-    // CHECKSTYLE:ON
-        private Utils() {
-            throw new UnsupportedOperationException("No instance allowed");
-        }
-
-        public static <T> T resolveAttribute(FactoryManager manager, 
AttributeKey<T> key) {
-            return AttributeStore.resolveAttribute(manager, key);
-        }
-
-        public static <T> T resolveAttribute(Session session, AttributeKey<T> 
key) {
-            return AttributeStore.resolveAttribute(session, key);
-        }
-
-        public static <T> T resolveAttribute(Channel channel, AttributeKey<T> 
key) {
-            return AttributeStore.resolveAttribute(channel, key);
-        }
-    }
-
-    /**
      * @param <T> The generic attribute type
      * @param manager The {@link FactoryManager} - ignored if {@code null}
      * @param key The attribute key - never {@code null}
      * @return Associated value - {@code null} if not found
      */
     static <T> T resolveAttribute(FactoryManager manager, AttributeKey<T> key) 
{
-        ValidateUtils.checkNotNull(key, "No key");
+        Objects.requireNonNull(key, "No key");
         return (manager == null) ? null : manager.getAttribute(key);
     }
 
@@ -146,7 +121,7 @@ public interface AttributeStore {
      * @see #resolveAttribute(FactoryManager, AttributeKey)
      */
     static <T> T resolveAttribute(Session session, AttributeKey<T> key) {
-        ValidateUtils.checkNotNull(key, "No key");
+        Objects.requireNonNull(key, "No key");
         if (session == null) {
             return null;
         }
@@ -166,7 +141,7 @@ public interface AttributeStore {
      * @see #resolveAttribute(Session, AttributeKey)
      */
     static <T> T resolveAttribute(Channel channel, AttributeKey<T> key) {
-        ValidateUtils.checkNotNull(key, "No key");
+        Objects.requireNonNull(key, "No key");
         if (channel == null) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/Closeable.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/Closeable.java 
b/sshd-core/src/main/java/org/apache/sshd/common/Closeable.java
index 0c7f2bb..4c3e45f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/Closeable.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/Closeable.java
@@ -93,6 +93,7 @@ public interface Closeable extends Channel {
      */
     boolean isClosing();
 
+    @Override
     default boolean isOpen() {
         return !(isClosed() || isClosing());
     }
@@ -111,6 +112,7 @@ public interface Closeable extends Channel {
         if (closeable == null) {
             return;
         }
+
         if ((!closeable.isClosed()) && (!closeable.isClosing())) {
             CloseFuture future = closeable.close(true);
             long maxWait = (closeable instanceof PropertyResolver)

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/SshException.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshException.java 
b/sshd-core/src/main/java/org/apache/sshd/common/SshException.java
index 9f4b1d1..4280d08 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshException.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshException.java
@@ -19,9 +19,9 @@
 package org.apache.sshd.common;
 
 import java.io.IOException;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * Represents an SSH related exception
@@ -39,7 +39,7 @@ public class SshException extends IOException {
     }
 
     public SshException(Throwable cause) {
-        this(ValidateUtils.checkNotNull(cause, "No cause").getMessage(), 
cause);
+        this(Objects.requireNonNull(cause, "No cause").getMessage(), cause);
     }
 
     public SshException(String message, Throwable cause) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
index 23c7f5a..c6e59a6 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/AbstractChannel.java
@@ -802,21 +802,21 @@ public abstract class AbstractChannel
     @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/channel/ChannelAsyncInputStream.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
index 1accc85..3bd0044 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncInputStream.java
@@ -19,6 +19,7 @@
 package org.apache.sshd.common.channel;
 
 import java.io.IOException;
+import java.util.Objects;
 
 import org.apache.sshd.common.RuntimeSshException;
 import org.apache.sshd.common.SshException;
@@ -29,7 +30,6 @@ import org.apache.sshd.common.io.IoReadFuture;
 import org.apache.sshd.common.io.ReadPendingException;
 import org.apache.sshd.common.session.Session;
 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.buffer.ByteArrayBuffer;
 import org.apache.sshd.common.util.closeable.AbstractCloseable;
@@ -43,7 +43,7 @@ public class ChannelAsyncInputStream extends 
AbstractCloseable implements IoInpu
     private IoReadFutureImpl pending;
 
     public ChannelAsyncInputStream(Channel channel) {
-        this.channelInstance = ValidateUtils.checkNotNull(channel, "No 
channel");
+        this.channelInstance = Objects.requireNonNull(channel, "No channel");
     }
 
     @Override
@@ -166,7 +166,7 @@ public class ChannelAsyncInputStream extends 
AbstractCloseable implements IoInpu
             } else if (v instanceof Error) {
                 throw (Error) v;
             } else if (v instanceof Throwable) {
-                throw (RuntimeSshException) new RuntimeSshException("Error 
reading from channel.", (Throwable) v);
+                throw new RuntimeSshException("Error reading from channel.", 
(Throwable) v);
             } else if (v instanceof Number) {
                 return ((Number) v).intValue();
             } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncOutputStream.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncOutputStream.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncOutputStream.java
index 668751b..8c12bd2 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncOutputStream.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelAsyncOutputStream.java
@@ -19,6 +19,7 @@
 package org.apache.sshd.common.channel;
 
 import java.io.IOException;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.sshd.common.SshConstants;
@@ -28,7 +29,6 @@ import org.apache.sshd.common.io.IoOutputStream;
 import org.apache.sshd.common.io.IoWriteFuture;
 import org.apache.sshd.common.io.WritePendingException;
 import org.apache.sshd.common.session.Session;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.closeable.AbstractCloseable;
 
@@ -39,7 +39,7 @@ public class ChannelAsyncOutputStream extends 
AbstractCloseable implements IoOut
     private final AtomicReference<IoWriteFutureImpl> pendingWrite = new 
AtomicReference<>();
 
     public ChannelAsyncOutputStream(Channel channel, byte cmd) {
-        this.channelInstance = ValidateUtils.checkNotNull(channel, "No 
channel");
+        this.channelInstance = Objects.requireNonNull(channel, "No channel");
         this.cmd = cmd;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelOutputStream.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelOutputStream.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelOutputStream.java
index 91e192c..93ebcda 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelOutputStream.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelOutputStream.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.io.OutputStream;
 import java.io.StreamCorruptedException;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -61,11 +62,11 @@ public class ChannelOutputStream extends OutputStream 
implements java.nio.channe
     }
 
     public ChannelOutputStream(AbstractChannel channel, Window remoteWindow, 
long maxWaitTimeout, Logger log, byte cmd, boolean eofOnClose) {
-        this.channelInstance = ValidateUtils.checkNotNull(channel, "No 
channel");
-        this.remoteWindow = ValidateUtils.checkNotNull(remoteWindow, "No 
remote window");
+        this.channelInstance = Objects.requireNonNull(channel, "No channel");
+        this.remoteWindow = Objects.requireNonNull(remoteWindow, "No remote 
window");
         ValidateUtils.checkTrue(maxWaitTimeout > 0L, "Non-positive max. wait 
time: %d", maxWaitTimeout);
         this.maxWaitTimeout = maxWaitTimeout;
-        this.log = ValidateUtils.checkNotNull(log, "No logger");
+        this.log = Objects.requireNonNull(log, "No logger");
         this.cmd = cmd;
         this.eofOnClose = eofOnClose;
         newBuffer(0);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelPipedInputStream.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelPipedInputStream.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelPipedInputStream.java
index 4162645..82c8691 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelPipedInputStream.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/ChannelPipedInputStream.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InterruptedIOException;
 import java.net.SocketException;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.locks.Condition;
@@ -31,7 +32,6 @@ import java.util.concurrent.locks.ReentrantLock;
 import org.apache.sshd.common.FactoryManager;
 import org.apache.sshd.common.PropertyResolver;
 import org.apache.sshd.common.PropertyResolverUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 
@@ -64,7 +64,7 @@ public class ChannelPipedInputStream extends InputStream 
implements ChannelPiped
     }
 
     public ChannelPipedInputStream(Window localWindow, long windowTimeout) {
-        this.localWindow = ValidateUtils.checkNotNull(localWindow, "No local 
window provided");
+        this.localWindow = Objects.requireNonNull(localWindow, "No local 
window provided");
         this.timeout = windowTimeout;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/IoWriteFutureImpl.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/IoWriteFutureImpl.java 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/IoWriteFutureImpl.java
index 70725e7..1822c92 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/channel/IoWriteFutureImpl.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/IoWriteFutureImpl.java
@@ -19,8 +19,9 @@
 
 package org.apache.sshd.common.channel;
 
+import java.util.Objects;
+
 import org.apache.sshd.common.io.AbstractIoWriteFuture;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 
 /**
@@ -31,7 +32,7 @@ public class IoWriteFutureImpl extends AbstractIoWriteFuture {
 
     public IoWriteFutureImpl(Buffer buffer) {
         super(null);
-        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided");
+        this.buffer = Objects.requireNonNull(buffer, "No buffer provided");
     }
 
     public Buffer getBuffer() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java 
b/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
index 3117f40..48f0080 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/Window.java
@@ -23,6 +23,7 @@ import java.io.StreamCorruptedException;
 import java.net.SocketTimeoutException;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;
@@ -65,7 +66,7 @@ public class Window extends AbstractLoggingBean implements 
java.nio.channels.Cha
     private Map<String, Object> props = Collections.emptyMap();
 
     public Window(AbstractChannel channel, Object lock, boolean client, 
boolean local) {
-        this.channelInstance = ValidateUtils.checkNotNull(channel, "No channel 
provided");
+        this.channelInstance = Objects.requireNonNull(channel, "No channel 
provided");
         this.lock = (lock != null) ? lock : this;
         this.suffix = (client ? "client" : "server") + "/" + (local ? "local" 
: "remote");
     }
@@ -225,7 +226,7 @@ public class Window extends AbstractLoggingBean implements 
java.nio.channels.Cha
      * @throws WindowClosedException If window closed while waiting
      * @throws SocketTimeoutException If timeout expired before enough data 
became available
      * @see #waitForCondition(Predicate, long)
-     * @see #consume(int)
+     * @see #consume(long)
      */
     public void waitAndConsume(long len, long maxWaitTime) throws 
InterruptedException, WindowClosedException, SocketTimeoutException {
         BufferUtils.validateUint32Value(len, "Invalid wait consume length: 
%d", len);
@@ -282,7 +283,7 @@ public class Window extends AbstractLoggingBean implements 
java.nio.channels.Cha
      */
     protected void waitForCondition(Predicate<? super Window> predicate, long 
maxWaitTime)
             throws WindowClosedException, InterruptedException, 
SocketTimeoutException {
-        ValidateUtils.checkNotNull(predicate, "No condition");
+        Objects.requireNonNull(predicate, "No condition");
         ValidateUtils.checkTrue(maxWaitTime > 0, "Non-positive max. wait time: 
%d", maxWaitTime);
 
         long maxWaitNanos = TimeUnit.MILLISECONDS.toNanos(maxWaitTime);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java 
b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
index 3c3403c..fd0a59c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/BuiltinCiphers.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;
@@ -163,7 +164,7 @@ public enum BuiltinCiphers implements CipherFactory {
      *                                  with the same name (case 
<U>insensitive</U>).
      */
     public static void registerExtension(CipherFactory 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/cipher/ECCurves.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java 
b/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java
index 9dfd064..f2557ea 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/cipher/ECCurves.java
@@ -28,6 +28,7 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.EnumSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -140,7 +141,7 @@ public enum ECCurves implements NamedResource, 
OptionalFeature {
         this.params = ValidateUtils.checkNotNull(params, "No EC params for 
%s", name);
         this.keySize = getCurveSize(params);
         this.numOctets = numOctets;
-        this.digestFactory = ValidateUtils.checkNotNull(digestFactory, "No 
digestFactory");
+        this.digestFactory = Objects.requireNonNull(digestFactory, "No 
digestFactory");
     }
 
     @Override   // The curve name
@@ -253,9 +254,9 @@ public enum ECCurves implements NamedResource, 
OptionalFeature {
      * @throws IllegalArgumentException if invalid parameters provided
      */
     public static int getCurveSize(ECParameterSpec params) {
-        EllipticCurve curve = ValidateUtils.checkNotNull(params, "No EC 
params").getCurve();
-        ECField field = ValidateUtils.checkNotNull(curve, "No EC 
curve").getField();
-        return ValidateUtils.checkNotNull(field, "No EC field").getFieldSize();
+        EllipticCurve curve = Objects.requireNonNull(params, "No EC 
params").getCurve();
+        ECField field = Objects.requireNonNull(curve, "No EC 
curve").getField();
+        return Objects.requireNonNull(field, "No EC field").getFieldSize();
     }
 
     public static byte[] encodeECPoint(ECPoint group, ECParameterSpec params) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java
index bf547c9..c7bc541 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/compression/BuiltinCompressions.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;
@@ -115,7 +116,7 @@ public enum BuiltinCompressions implements 
CompressionFactory {
      *                                  with the same name (case 
<U>insensitive</U>).
      */
     public static void registerExtension(CompressionFactory 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/config/SshConfigFileReader.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/SshConfigFileReader.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/config/SshConfigFileReader.java
index c11c865..4ad6345 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/config/SshConfigFileReader.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/config/SshConfigFileReader.java
@@ -35,6 +35,7 @@ import java.nio.file.Path;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
 
@@ -489,12 +490,12 @@ public final class SshConfigFileReader {
     }
 
     public static <M extends AbstractFactoryManager> M configureCiphers(M 
manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure");
+        Objects.requireNonNull(props, "No properties to configure");
         return configureCiphers(manager, 
props.getProperty(CIPHERS_CONFIG_PROP, DEFAULT_CIPHERS), lenient, 
ignoreUnsupported);
     }
 
     public static <M extends AbstractFactoryManager> M configureCiphers(M 
manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
+        Objects.requireNonNull(manager, "No manager to configure");
 
         BuiltinCiphers.ParseResult result = 
BuiltinCiphers.parseCiphersList(value);
         Collection<String> unsupported = result.getUnsupportedFactories();
@@ -507,12 +508,12 @@ public final class SshConfigFileReader {
     }
 
     public static <M extends AbstractFactoryManager> M configureSignatures(M 
manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure");
+        Objects.requireNonNull(props, "No properties to configure");
         return configureSignatures(manager, 
props.getProperty(HOST_KEY_ALGORITHMS_CONFIG_PROP, 
DEFAULT_HOST_KEY_ALGORITHMS), lenient, ignoreUnsupported);
     }
 
     public static <M extends AbstractFactoryManager> M configureSignatures(M 
manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
+        Objects.requireNonNull(manager, "No manager to configure");
 
         BuiltinSignatures.ParseResult result = 
BuiltinSignatures.parseSignatureList(value);
         Collection<String> unsupported = result.getUnsupportedFactories();
@@ -525,12 +526,12 @@ public final class SshConfigFileReader {
     }
 
     public static <M extends AbstractFactoryManager> M configureMacs(M 
manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure");
+        Objects.requireNonNull(props, "No properties to configure");
         return configureMacs(manager, props.getProperty(MACS_CONFIG_PROP, 
DEFAULT_MACS), lenient, ignoreUnsupported);
     }
 
     public static <M extends AbstractFactoryManager> M configureMacs(M 
manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
+        Objects.requireNonNull(manager, "No manager to configure");
 
         BuiltinMacs.ParseResult result = BuiltinMacs.parseMacsList(value);
         Collection<String> unsupported = result.getUnsupportedFactories();
@@ -559,14 +560,14 @@ public final class SshConfigFileReader {
      */
     public static <M extends AbstractFactoryManager> M configureKeyExchanges(
             M manager, Properties props, boolean lenient, Transformer<? super 
DHFactory, ? extends NamedFactory<KeyExchange>> xformer, boolean 
ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure");
+        Objects.requireNonNull(props, "No properties to configure");
         return configureKeyExchanges(manager, 
props.getProperty(KEX_ALGORITHMS_CONFIG_PROP, DEFAULT_KEX_ALGORITHMS), lenient, 
xformer, ignoreUnsupported);
     }
 
     public static <M extends AbstractFactoryManager> M configureKeyExchanges(
             M manager, String value, boolean lenient, Transformer<? super 
DHFactory, ? extends NamedFactory<KeyExchange>> xformer, boolean 
ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
-        ValidateUtils.checkNotNull(xformer, "No DHFactory transformer");
+        Objects.requireNonNull(manager, "No manager to configure");
+        Objects.requireNonNull(xformer, "No DHFactory transformer");
 
         BuiltinDHFactories.ParseResult result = 
BuiltinDHFactories.parseDHFactoriesList(value);
         Collection<String> unsupported = result.getUnsupportedFactories();
@@ -592,8 +593,8 @@ public final class SshConfigFileReader {
      * to lenient mode or ignored unsupported value is empty then no factories 
are set
      */
     public static <M extends AbstractFactoryManager> M configureCompression(M 
manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
-        ValidateUtils.checkNotNull(props, "No properties to configure");
+        Objects.requireNonNull(manager, "No manager to configure");
+        Objects.requireNonNull(props, "No properties to configure");
 
         String value = props.getProperty(COMPRESSION_PROP, 
DEFAULT_COMPRESSION);
         CompressionFactory factory = CompressionConfigValue.fromName(value);
@@ -607,7 +608,7 @@ public final class SshConfigFileReader {
 
     // accepts BOTH CompressionConfigValue(s) and/or BuiltinCompressions - 
including extensions
     public static <M extends AbstractFactoryManager> M configureCompression(M 
manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure");
+        Objects.requireNonNull(manager, "No manager to configure");
 
         CompressionFactory factory = CompressionConfigValue.fromName(value);
         if (factory != null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/config/keys/AbstractPublicKeyEntryDecoder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/AbstractPublicKeyEntryDecoder.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/AbstractPublicKeyEntryDecoder.java
index e89a944..9b98dc4 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/AbstractPublicKeyEntryDecoder.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/AbstractPublicKeyEntryDecoder.java
@@ -37,6 +37,7 @@ import java.security.PublicKey;
 import java.security.spec.InvalidKeySpecException;
 import java.security.spec.KeySpec;
 import java.util.Collection;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.NumberUtils;
@@ -52,14 +53,13 @@ import org.apache.sshd.common.util.io.IoUtils;
  */
 public abstract class AbstractPublicKeyEntryDecoder<PUB extends PublicKey, PRV 
extends PrivateKey>
         implements PublicKeyEntryDecoder<PUB, PRV> {
-
     private final Class<PUB> pubType;
     private final Class<PRV> prvType;
     private final Collection<String> names;
 
     protected AbstractPublicKeyEntryDecoder(Class<PUB> pubType, Class<PRV> 
prvType, Collection<String> names) {
-        this.pubType = ValidateUtils.checkNotNull(pubType, "No public key type 
specified");
-        this.prvType = ValidateUtils.checkNotNull(prvType, "No private key 
type specified");
+        this.pubType = Objects.requireNonNull(pubType, "No public key type 
specified");
+        this.prvType = Objects.requireNonNull(prvType, "No private key type 
specified");
         this.names = ValidateUtils.checkNotNullAndNotEmpty(names, "No type 
names provided");
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/config/keys/DSSPublicKeyEntryDecoder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/DSSPublicKeyEntryDecoder.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/DSSPublicKeyEntryDecoder.java
index 6ea520e..cdac8f3 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/DSSPublicKeyEntryDecoder.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/DSSPublicKeyEntryDecoder.java
@@ -34,10 +34,10 @@ import java.security.spec.DSAPrivateKeySpec;
 import java.security.spec.DSAPublicKeySpec;
 import java.security.spec.InvalidKeySpecException;
 import java.util.Collections;
+import java.util.Objects;
 
 import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.apache.sshd.common.util.SecurityUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -65,9 +65,9 @@ public class DSSPublicKeyEntryDecoder extends 
AbstractPublicKeyEntryDecoder<DSAP
 
     @Override
     public String encodePublicKey(OutputStream s, DSAPublicKey key) throws 
IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided");
+        Objects.requireNonNull(key, "No public key provided");
 
-        DSAParams keyParams = ValidateUtils.checkNotNull(key.getParams(), "No 
DSA params available");
+        DSAParams keyParams = Objects.requireNonNull(key.getParams(), "No DSA 
params available");
         encodeString(s, KeyPairProvider.SSH_DSS);
         encodeBigInt(s, keyParams.getP());
         encodeBigInt(s, keyParams.getQ());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/config/keys/ECDSAPublicKeyEntryDecoder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/ECDSAPublicKeyEntryDecoder.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/ECDSAPublicKeyEntryDecoder.java
index 4fd1de5..3654178 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/ECDSAPublicKeyEntryDecoder.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/ECDSAPublicKeyEntryDecoder.java
@@ -41,12 +41,12 @@ import java.security.spec.ECPublicKeySpec;
 import java.security.spec.InvalidKeySpecException;
 import java.util.Collections;
 import java.util.EnumSet;
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.sshd.common.cipher.ECCurves;
 import org.apache.sshd.common.util.NumberUtils;
 import org.apache.sshd.common.util.SecurityUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.BufferUtils;
 
 /**
@@ -140,10 +140,10 @@ public class ECDSAPublicKeyEntryDecoder extends 
AbstractPublicKeyEntryDecoder<EC
 
     @Override
     public String encodePublicKey(OutputStream s, ECPublicKey key) throws 
IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided");
+        Objects.requireNonNull(key, "No public key provided");
 
-        ECParameterSpec params = ValidateUtils.checkNotNull(key.getParams(), 
"No EC parameters available");
-        ECCurves curve = 
ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Cannot 
determine curve");
+        ECParameterSpec params = Objects.requireNonNull(key.getParams(), "No 
EC parameters available");
+        ECCurves curve = 
Objects.requireNonNull(ECCurves.fromCurveParameters(params), "Cannot determine 
curve");
         String keyType = curve.getKeyType();
         String curveName = curve.getName();
         encodeString(s, keyType);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
index c06f9e9..74cb186 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/KeyUtils.java
@@ -282,10 +282,10 @@ public final class KeyUtils {
      * @see PublicKeyEntryDecoder#getSupportedTypeNames()
      */
     public static void registerPublicKeyEntryDecoder(PublicKeyEntryDecoder<?, 
?> decoder) {
-        ValidateUtils.checkNotNull(decoder, "No decoder specified");
+        Objects.requireNonNull(decoder, "No decoder specified");
 
-        Class<?> pubType = 
ValidateUtils.checkNotNull(decoder.getPublicKeyType(), "No public key type 
declared");
-        Class<?> prvType = 
ValidateUtils.checkNotNull(decoder.getPrivateKeyType(), "No private key type 
declared");
+        Class<?> pubType = Objects.requireNonNull(decoder.getPublicKeyType(), 
"No public key type declared");
+        Class<?> prvType = Objects.requireNonNull(decoder.getPrivateKeyType(), 
"No private key type declared");
         synchronized (BY_KEY_CLASS_DECODERS_MAP) {
             BY_KEY_CLASS_DECODERS_MAP.put(pubType, decoder);
             BY_KEY_CLASS_DECODERS_MAP.put(prvType, decoder);
@@ -416,7 +416,7 @@ public final class KeyUtils {
      */
     public static void setDefaultFingerPrintFactory(DigestFactory f) {
         synchronized (DEFAULT_DIGEST_HOLDER) {
-            DEFAULT_DIGEST_HOLDER.set(ValidateUtils.checkNotNull(f, "No digest 
factory"));
+            DEFAULT_DIGEST_HOLDER.set(Objects.requireNonNull(f, "No digest 
factory"));
         }
     }
 
@@ -584,7 +584,7 @@ public final class KeyUtils {
      * {@code null} if no key.
      */
     public static Pair<Boolean, String> checkFingerPrint(String expected, 
Factory<? extends Digest> f, PublicKey key) {
-        return checkFingerPrint(expected, ValidateUtils.checkNotNull(f, "No 
digest factory").create(), key);
+        return checkFingerPrint(expected, Objects.requireNonNull(f, "No digest 
factory").create(), key);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/config/keys/RSAPublicKeyDecoder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/RSAPublicKeyDecoder.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/RSAPublicKeyDecoder.java
index 94b5520..f68ddc2 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/RSAPublicKeyDecoder.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/RSAPublicKeyDecoder.java
@@ -34,10 +34,10 @@ import java.security.spec.InvalidKeySpecException;
 import java.security.spec.RSAPrivateCrtKeySpec;
 import java.security.spec.RSAPublicKeySpec;
 import java.util.Collections;
+import java.util.Objects;
 
 import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.apache.sshd.common.util.SecurityUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -63,7 +63,7 @@ public class RSAPublicKeyDecoder extends 
AbstractPublicKeyEntryDecoder<RSAPublic
 
     @Override
     public String encodePublicKey(OutputStream s, RSAPublicKey key) throws 
IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided");
+        Objects.requireNonNull(key, "No public key provided");
         encodeString(s, KeyPairProvider.SSH_RSA);
         encodeBigInt(s, key.getPublicExponent());
         encodeBigInt(s, key.getModulus());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java 
b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
index 221dc0c..ffab49d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/BaseDigest.java
@@ -75,7 +75,7 @@ public class BaseDigest implements Digest {
 
     @Override
     public void update(byte[] data, int start, int len) throws Exception {
-        ValidateUtils.checkNotNull(md, "Digest not initialized").update(data, 
start, len);
+        Objects.requireNonNull(md, "Digest not initialized").update(data, 
start, len);
     }
 
     /**
@@ -87,7 +87,7 @@ public class BaseDigest implements Digest {
 
     @Override
     public byte[] digest() throws Exception {
-        return ValidateUtils.checkNotNull(md, "Digest not 
initialized").digest();
+        return Objects.requireNonNull(md, "Digest not initialized").digest();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
index 497f267..8a4ee98 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/digest/DigestUtils.java
@@ -24,6 +24,7 @@ import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.Collection;
 import java.util.Comparator;
+import java.util.Objects;
 
 import org.apache.sshd.common.Factory;
 import org.apache.sshd.common.util.Base64;
@@ -121,7 +122,7 @@ public final class DigestUtils {
      * @throws Exception If failed to calculate the digest
      */
     public static String getFingerPrint(Factory<? extends Digest> f, String s, 
Charset charset) throws Exception {
-        return getFingerPrint(ValidateUtils.checkNotNull(f, "No 
factory").create(), s, charset);
+        return getFingerPrint(Objects.requireNonNull(f, "No 
factory").create(), s, charset);
     }
 
     /**
@@ -172,7 +173,7 @@ public final class DigestUtils {
      * @throws Exception If failed to calculate the fingerprint
      */
     public static String getFingerPrint(Factory<? extends Digest> f, byte[] 
buf, int offset, int len) throws Exception {
-        return getFingerPrint(ValidateUtils.checkNotNull(f, "No 
factory").create(), buf, offset, len);
+        return getFingerPrint(Objects.requireNonNull(f, "No 
factory").create(), buf, offset, len);
     }
 
     /**
@@ -218,7 +219,7 @@ public final class DigestUtils {
             return null;
         }
 
-        ValidateUtils.checkNotNull(d, "No digest").init();
+        Objects.requireNonNull(d, "No digest").init();
         d.update(buf, offset, len);
 
         return d.digest();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
index 7ded64e..1b9a71c 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystem.java
@@ -25,10 +25,10 @@ import java.nio.file.Path;
 import java.nio.file.attribute.UserPrincipalLookupService;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.sshd.common.file.util.BaseFileSystem;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -40,7 +40,7 @@ public class RootedFileSystem extends 
BaseFileSystem<RootedPath> {
 
     public RootedFileSystem(RootedFileSystemProvider fileSystemProvider, Path 
root, Map<String, ?> env) {
         super(fileSystemProvider);
-        this.rootPath = ValidateUtils.checkNotNull(root, "No root path");
+        this.rootPath = Objects.requireNonNull(root, "No root path");
         this.rootFs = root.getFileSystem();
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystemProvider.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystemProvider.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystemProvider.java
index 3caa4f6..8a78e68 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystemProvider.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/file/root/RootedFileSystemProvider.java
@@ -46,6 +46,7 @@ import java.nio.file.attribute.FileAttributeView;
 import java.nio.file.spi.FileSystemProvider;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
 
@@ -416,7 +417,7 @@ public class RootedFileSystemProvider extends 
FileSystemProvider {
      * @throws ProviderMismatchException if not a {@link RootedPath}
      */
     protected Path unroot(Path path) {
-        ValidateUtils.checkNotNull(path, "No path to unroot");
+        Objects.requireNonNull(path, "No path to unroot");
         if (!(path instanceof RootedPath)) {
             throw new ProviderMismatchException("unroot(" + path + ") is not a 
" + RootedPath.class.getSimpleName()
                     + " but rather a " + path.getClass().getSimpleName());
@@ -433,7 +434,7 @@ public class RootedFileSystemProvider extends 
FileSystemProvider {
      * of the rooted file system
      */
     protected Path resolveLocalPath(RootedPath path) {
-        RootedPath absPath = ValidateUtils.checkNotNull(path, "No rooted path 
to resolve").toAbsolutePath();
+        RootedPath absPath = Objects.requireNonNull(path, "No rooted path to 
resolve").toAbsolutePath();
         RootedFileSystem rfs = absPath.getFileSystem();
         Path root = rfs.getRoot();
         FileSystem lfs = root.getFileSystem();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java 
b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
index 8755593..c8c394b 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BaseFileSystem.java
@@ -29,11 +29,11 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -43,7 +43,7 @@ public abstract class BaseFileSystem<T extends Path> extends 
FileSystem {
 
     public BaseFileSystem(FileSystemProvider fileSystemProvider) {
         this.log = LoggerFactory.getLogger(getClass());
-        this.fileSystemProvider = 
ValidateUtils.checkNotNull(fileSystemProvider, "No file system provider");
+        this.fileSystemProvider = Objects.requireNonNull(fileSystemProvider, 
"No file system provider");
     }
 
     public T getDefaultDir() {
@@ -123,7 +123,7 @@ public abstract class BaseFileSystem<T extends Path> 
extends FileSystem {
 
     @Override
     public PathMatcher getPathMatcher(String syntaxAndPattern) {
-        int colonIndex = ValidateUtils.checkNotNull(syntaxAndPattern, "No 
argument").indexOf(':');
+        int colonIndex = Objects.requireNonNull(syntaxAndPattern, "No 
argument").indexOf(':');
         if ((colonIndex <= 0) || (colonIndex == syntaxAndPattern.length() - 
1)) {
             throw new IllegalArgumentException("syntaxAndPattern must have 
form \"syntax:pattern\" but was \"" + syntaxAndPattern + "\"");
         }
@@ -153,7 +153,7 @@ public abstract class BaseFileSystem<T extends Path> 
extends FileSystem {
     }
 
     protected String globToRegex(String pattern) {
-        StringBuilder sb = new 
StringBuilder(ValidateUtils.checkNotNull(pattern, "No pattern").length());
+        StringBuilder sb = new StringBuilder(Objects.requireNonNull(pattern, 
"No pattern").length());
         int inGroup = 0;
         int inClass = 0;
         int firstIndexInClass = -1;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java 
b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
index b2bbf42..d073548 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/util/BasePath.java
@@ -38,7 +38,6 @@ import java.util.List;
 import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 
 public abstract class BasePath<T extends BasePath<T, FS>, FS extends 
BaseFileSystem<T>> implements Path {
 
@@ -49,7 +48,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS 
extends BaseFileSys
     private int hashValue;
 
     public BasePath(FS fileSystem, String root, List<String> names) {
-        this.fileSystem = ValidateUtils.checkNotNull(fileSystem, "No file 
system provided");
+        this.fileSystem = Objects.requireNonNull(fileSystem, "No file system 
provided");
         this.root = root;
         this.names = names;
     }
@@ -241,7 +240,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, 
FS extends BaseFileSys
 
     @Override
     public Path resolveSibling(Path other) {
-        ValidateUtils.checkNotNull(other, "Missing sibling path argument");
+        Objects.requireNonNull(other, "Missing sibling path argument");
         T parent = getParent();
         return parent == null ? other : parent.resolve(other);
     }
@@ -358,7 +357,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, 
FS extends BaseFileSys
 
     @SuppressWarnings("unchecked")
     protected T checkPath(Path paramPath) {
-        ValidateUtils.checkNotNull(paramPath, "Missing path argument");
+        Objects.requireNonNull(paramPath, "Missing path argument");
         if (paramPath.getClass() != getClass()) {
             throw new ProviderMismatchException("Path is not of this class: " 
+ paramPath + "[" + paramPath.getClass().getSimpleName() + "]");
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
index abfc9b9..699ef76 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/file/virtualfs/VirtualFileSystemFactory.java
@@ -24,6 +24,7 @@ import java.nio.file.InvalidPathException;
 import java.nio.file.Path;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sshd.common.file.FileSystemFactory;
@@ -57,7 +58,7 @@ public class VirtualFileSystemFactory implements 
FileSystemFactory {
 
     public void setUserHomeDir(String userName, Path userHomeDir) {
         homeDirs.put(ValidateUtils.checkNotNullAndNotEmpty(userName, "No 
username"),
-                     ValidateUtils.checkNotNull(userHomeDir, "No home dir"));
+                     Objects.requireNonNull(userHomeDir, "No home dir"));
     }
 
     public Path getUserHomeDir(String userName) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
index b774b37..44eb2fd 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
@@ -98,8 +98,8 @@ public class DefaultTcpipForwarder
     private IoAcceptor acceptor;
 
     public DefaultTcpipForwarder(ConnectionService service) {
-        this.service = ValidateUtils.checkNotNull(service, "No connection 
service");
-        this.sessionInstance = 
ValidateUtils.checkNotNull(service.getSession(), "No session");
+        this.service = Objects.requireNonNull(service, "No connection 
service");
+        this.sessionInstance = Objects.requireNonNull(service.getSession(), 
"No session");
         this.listenerProxy = 
EventListenerUtils.proxyWrapper(PortForwardingEventListener.class, 
getClass().getClassLoader(), listeners);
     }
 
@@ -137,9 +137,9 @@ public class DefaultTcpipForwarder
 
     @Override
     public synchronized SshdSocketAddress 
startLocalPortForwarding(SshdSocketAddress local, SshdSocketAddress remote) 
throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null");
+        Objects.requireNonNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: 
%s", local);
-        ValidateUtils.checkNotNull(remote, "Remote address is null");
+        Objects.requireNonNull(remote, "Remote address is null");
 
         if (isClosed()) {
             throw new IllegalStateException("TcpipForwarder is closed");
@@ -188,7 +188,7 @@ public class DefaultTcpipForwarder
 
     @Override
     public synchronized void stopLocalPortForwarding(SshdSocketAddress local) 
throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null");
+        Objects.requireNonNull(local, "Local address is null");
 
         SshdSocketAddress bound;
         synchronized (localToRemote) {
@@ -219,8 +219,8 @@ public class DefaultTcpipForwarder
 
     @Override
     public synchronized SshdSocketAddress 
startRemotePortForwarding(SshdSocketAddress remote, SshdSocketAddress local) 
throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null");
-        ValidateUtils.checkNotNull(remote, "Remote address is null");
+        Objects.requireNonNull(local, "Local address is null");
+        Objects.requireNonNull(remote, "Remote address is null");
 
         String remoteHost = remote.getHostName();
         int remotePort = remote.getPort();
@@ -314,7 +314,7 @@ public class DefaultTcpipForwarder
 
     @Override
     public synchronized SshdSocketAddress 
startDynamicPortForwarding(SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null");
+        Objects.requireNonNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: 
%s", local);
 
         if (isClosed()) {
@@ -403,11 +403,11 @@ public class DefaultTcpipForwarder
 
     @Override
     public synchronized SshdSocketAddress 
localPortForwardingRequested(SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null");
+        Objects.requireNonNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: 
%s", local);
 
         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();
         try {
             if ((filter == null) || (!filter.canListen(local, session))) {
@@ -508,8 +508,8 @@ public class DefaultTcpipForwarder
     private InetSocketAddress doBind(SshdSocketAddress address, Factory<? 
extends IoHandler> handlerFactory) throws IOException {
         if (acceptor == null) {
             Session session = getSession();
-            FactoryManager manager = 
ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager");
-            IoServiceFactory factory = 
ValidateUtils.checkNotNull(manager.getIoServiceFactory(), "No I/O service 
factory");
+            FactoryManager manager = 
Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
+            IoServiceFactory factory = 
Objects.requireNonNull(manager.getIoServiceFactory(), "No I/O service factory");
             IoHandler handler = handlerFactory.create();
             acceptor = factory.createAcceptor(handler);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java 
b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
index b2763e1..cb34411 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultSshFuture.java
@@ -20,6 +20,7 @@ package org.apache.sshd.common.future;
 
 import java.io.InterruptedIOException;
 import java.lang.reflect.Array;
+import java.util.Objects;
 
 import org.apache.sshd.common.util.GenericUtils;
 import org.apache.sshd.common.util.ValidateUtils;
@@ -135,7 +136,7 @@ public class DefaultSshFuture<T extends SshFuture> extends 
AbstractSshFuture<T>
 
     @Override
     public T addListener(SshFutureListener<T> listener) {
-        ValidateUtils.checkNotNull(listener, "Missing listener argument");
+        Objects.requireNonNull(listener, "Missing listener argument");
         boolean notifyNow = false;
         synchronized (lock) {
             // if already have a result don't register the listener and invoke 
it directly
@@ -163,7 +164,7 @@ public class DefaultSshFuture<T extends SshFuture> extends 
AbstractSshFuture<T>
 
     @Override
     public T removeListener(SshFutureListener<T> listener) {
-        ValidateUtils.checkNotNull(listener, "No listener provided");
+        Objects.requireNonNull(listener, "No listener provided");
 
         synchronized (lock) {
             if (result != null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/global/AbstractOpenSshHostKeysHandler.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/global/AbstractOpenSshHostKeysHandler.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/global/AbstractOpenSshHostKeysHandler.java
index ac1507f..18b7565 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/global/AbstractOpenSshHostKeysHandler.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/global/AbstractOpenSshHostKeysHandler.java
@@ -23,6 +23,7 @@ import java.security.PublicKey;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.LinkedList;
+import java.util.Objects;
 
 import org.apache.sshd.common.config.keys.KeyUtils;
 import org.apache.sshd.common.session.ConnectionService;
@@ -51,7 +52,7 @@ public abstract class AbstractOpenSshHostKeysHandler extends 
AbstractConnectionS
 
     protected AbstractOpenSshHostKeysHandler(String request, 
BufferPublicKeyParser<? extends PublicKey> parser) {
         this.request = ValidateUtils.checkNotNullAndNotEmpty(request, "No 
request identifier");
-        this.parser = ValidateUtils.checkNotNull(parser, "No public keys 
extractor");
+        this.parser = Objects.requireNonNull(parser, "No public keys 
extractor");
     }
 
     public final String getRequestName() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
index 80cb8c4..a09ed97 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.helpers;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledFuture;
@@ -135,21 +136,21 @@ public abstract class AbstractFactoryManager extends 
AbstractKexFactoryManager i
     @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
@@ -420,7 +421,7 @@ public abstract class AbstractFactoryManager extends 
AbstractKexFactoryManager i
         ValidateUtils.checkNotNullAndNotEmpty(getCompressionFactories(), 
"CompressionFactories not set");
         ValidateUtils.checkNotNullAndNotEmpty(getMacFactories(), "MacFactories 
not set");
 
-        ValidateUtils.checkNotNull(getRandomFactory(), "RandomFactory not 
set");
+        Objects.requireNonNull(getRandomFactory(), "RandomFactory not set");
 
         if (getIoServiceFactoryFactory() == null) {
             setIoServiceFactoryFactory(new DefaultIoServiceFactoryFactory());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java 
b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
index a6e254d..d69dc06 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaSession.java
@@ -19,6 +19,7 @@
 package org.apache.sshd.common.io.mina;
 
 import java.net.SocketAddress;
+import java.util.Objects;
 
 import org.apache.mina.core.buffer.IoBuffer;
 import org.apache.mina.core.future.IoFutureListener;
@@ -32,7 +33,6 @@ import org.apache.sshd.common.io.IoService;
 import org.apache.sshd.common.io.IoSession;
 import org.apache.sshd.common.io.IoWriteFuture;
 import org.apache.sshd.common.util.NumberUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.buffer.Buffer;
 import org.apache.sshd.common.util.closeable.AbstractInnerCloseable;
 import org.apache.sshd.common.util.closeable.IoBaseCloseable;
@@ -160,7 +160,7 @@ public class MinaSession extends AbstractInnerCloseable 
implements IoSession {
         }
 
         public void setException(Throwable exception) {
-            setValue(ValidateUtils.checkNotNull(exception, "No exception 
specified"));
+            setValue(Objects.requireNonNull(exception, "No exception 
specified"));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
index 8656c51..83d79db 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Acceptor.java
@@ -29,6 +29,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -171,7 +172,7 @@ public class Nio2Acceptor extends Nio2Service implements 
IoAcceptor {
             try {
                 // Create a session
                 IoHandler handler = getIoHandler();
-                session = 
ValidateUtils.checkNotNull(createSession(Nio2Acceptor.this, address, result, 
handler), "No NIO2 session created");
+                session = 
Objects.requireNonNull(createSession(Nio2Acceptor.this, address, result, 
handler), "No NIO2 session created");
                 handler.sessionCreated(session);
                 sessions.put(session.getId(), session);
                 session.startReading();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2DefaultIoWriteFuture.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2DefaultIoWriteFuture.java
 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2DefaultIoWriteFuture.java
index 111ae1b..b6a5b43 100644
--- 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2DefaultIoWriteFuture.java
+++ 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2DefaultIoWriteFuture.java
@@ -19,9 +19,9 @@
 package org.apache.sshd.common.io.nio2;
 
 import java.nio.ByteBuffer;
+import java.util.Objects;
 
 import org.apache.sshd.common.io.AbstractIoWriteFuture;
-import org.apache.sshd.common.util.ValidateUtils;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -43,6 +43,6 @@ public class Nio2DefaultIoWriteFuture extends 
AbstractIoWriteFuture {
     }
 
     public void setException(Throwable exception) {
-        setValue(ValidateUtils.checkNotNull(exception, "No exception 
specified"));
+        setValue(Objects.requireNonNull(exception, "No exception specified"));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f56963c4/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java 
b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
index 805b9bd..a031532 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Service.java
@@ -26,6 +26,7 @@ import java.nio.channels.NetworkChannel;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -38,7 +39,6 @@ import org.apache.sshd.common.io.IoHandler;
 import org.apache.sshd.common.io.IoService;
 import org.apache.sshd.common.io.IoSession;
 import org.apache.sshd.common.util.GenericUtils;
-import org.apache.sshd.common.util.ValidateUtils;
 import org.apache.sshd.common.util.closeable.AbstractInnerCloseable;
 
 /**
@@ -54,9 +54,9 @@ public abstract class Nio2Service extends 
AbstractInnerCloseable implements IoSe
         if (log.isTraceEnabled()) {
             log.trace("Creating {}", getClass().getSimpleName());
         }
-        this.manager = ValidateUtils.checkNotNull(manager, "No factory manager 
provided");
-        this.handler = ValidateUtils.checkNotNull(handler, "No I/O handler 
provided");
-        this.group = ValidateUtils.checkNotNull(group, "No async. channel 
group provided");
+        this.manager = Objects.requireNonNull(manager, "No factory manager 
provided");
+        this.handler = Objects.requireNonNull(handler, "No I/O handler 
provided");
+        this.group = Objects.requireNonNull(group, "No async. channel group 
provided");
         this.sessions = new ConcurrentHashMap<>();
     }
 

Reply via email to