You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2015/07/16 15:37:08 UTC

[1/6] mina-sshd git commit: Use <> inference operator when possible

Repository: mina-sshd
Updated Branches:
  refs/heads/master 46f0cb61a -> 1c80bb653


Use <> inference operator when possible

Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/26e94eb5
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/26e94eb5
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/26e94eb5

Branch: refs/heads/master
Commit: 26e94eb504294e96a8f6240f60fe5865dccb7e44
Parents: 46f0cb6
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jul 16 14:37:59 2015 +0200
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jul 16 14:41:05 2015 +0200

----------------------------------------------------------------------
 .../sshd/agent/common/AbstractAgentProxy.java     |  4 ++--
 .../sshd/agent/local/AgentForwardedChannel.java   |  2 +-
 .../org/apache/sshd/agent/local/AgentImpl.java    |  8 ++++----
 .../sshd/agent/local/ProxyAgentFactory.java       |  2 +-
 .../java/org/apache/sshd/client/SshClient.java    | 10 +++++-----
 .../java/org/apache/sshd/client/SshKeyScan.java   | 14 +++++++-------
 .../client/auth/UserAuthKeyboardInteractive.java  |  2 +-
 .../apache/sshd/client/auth/UserAuthPassword.java |  2 +-
 .../sshd/client/auth/UserAuthPublicKey.java       |  2 +-
 .../sshd/client/config/keys/ClientIdentity.java   |  2 +-
 .../client/subsystem/sftp/AbstractSftpClient.java |  4 ++--
 .../client/subsystem/sftp/DefaultSftpClient.java  |  4 ++--
 .../sshd/client/subsystem/sftp/SftpCommand.java   |  2 +-
 .../client/subsystem/sftp/SftpFileChannel.java    |  2 +-
 .../subsystem/sftp/SftpFileSystemProvider.java    |  4 ++--
 .../sshd/common/channel/AbstractChannel.java      |  4 ++--
 .../common/channel/ChannelAsyncOutputStream.java  |  2 +-
 .../apache/sshd/common/cipher/BuiltinCiphers.java |  8 ++++----
 .../common/compression/BuiltinCompressions.java   |  8 ++++----
 .../sshd/common/config/VersionProperties.java     |  2 +-
 .../sshd/common/config/keys/IdentityUtils.java    |  4 ++--
 .../sshd/common/file/util/MockFileSystem.java     |  6 +++---
 .../apache/sshd/common/io/mina/MinaAcceptor.java  |  2 +-
 .../apache/sshd/common/io/mina/MinaConnector.java |  2 +-
 .../apache/sshd/common/io/mina/MinaService.java   |  4 ++--
 .../apache/sshd/common/io/nio2/Nio2Acceptor.java  |  2 +-
 .../apache/sshd/common/io/nio2/Nio2Service.java   |  2 +-
 .../apache/sshd/common/io/nio2/Nio2Session.java   |  4 ++--
 .../sshd/common/kex/BuiltinDHFactories.java       |  6 +++---
 .../keyprovider/AbstractFileKeyPairProvider.java  |  2 +-
 .../keyprovider/AbstractKeyPairProvider.java      |  2 +-
 .../AbstractResourceKeyPairProvider.java          |  4 ++--
 .../org/apache/sshd/common/mac/BuiltinMacs.java   |  8 ++++----
 .../common/session/AbstractConnectionService.java |  2 +-
 .../sshd/common/session/AbstractSession.java      | 18 +++++++++---------
 .../common/session/AbstractSessionFactory.java    |  2 +-
 .../sshd/common/signature/AbstractSignature.java  |  2 +-
 .../sshd/common/signature/BuiltinSignatures.java  |  8 ++++----
 .../subsystem/sftp/extensions/ParserUtils.java    |  4 ++--
 .../apache/sshd/common/util/CloseableUtils.java   |  2 +-
 .../java/org/apache/sshd/server/SshServer.java    |  6 +++---
 .../auth/CachingPublicKeyAuthenticator.java       |  2 +-
 .../sshd/server/auth/gss/CredentialHelper.java    |  2 +-
 .../sshd/server/channel/ChannelSession.java       |  6 +++---
 .../server/config/keys/AuthorizedKeyEntry.java    |  8 ++++----
 .../sshd/server/config/keys/ServerIdentity.java   |  2 +-
 .../sshd/server/subsystem/sftp/SftpSubsystem.java |  4 ++--
 47 files changed, 102 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
index b3dc062..227af6c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/common/AbstractAgentProxy.java
@@ -87,10 +87,10 @@ public abstract class AbstractAgentProxy extends AbstractLoggingBean implements
             throw new SshException("Bad identities count: " + nbIdentities);
         }
 
-        List<Pair<PublicKey, String>> keys = new ArrayList<Pair<PublicKey, String>>(nbIdentities);
+        List<Pair<PublicKey, String>> keys = new ArrayList<>(nbIdentities);
         for (int i = 0; i < nbIdentities; i++) {
             PublicKey key = buffer.getPublicKey();
-            keys.add(new Pair<PublicKey, String>(key, buffer.getString()));
+            keys.add(new Pair<>(key, buffer.getString()));
         }
         return keys;
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentForwardedChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentForwardedChannel.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentForwardedChannel.java
index 0318ac1..d0f8c39 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentForwardedChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentForwardedChannel.java
@@ -34,7 +34,7 @@ import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
 
 public class AgentForwardedChannel extends AbstractClientChannel {
 
-    private final Queue<Buffer> messages = new ArrayBlockingQueue<Buffer>(10);
+    private final Queue<Buffer> messages = new ArrayBlockingQueue<>(10);
     private final Buffer receiveBuffer = new ByteArrayBuffer();
 
     public AgentForwardedChannel() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
index 5ddbd81..121473e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
@@ -42,7 +42,7 @@ import org.apache.sshd.common.util.ValidateUtils;
  */
 public class AgentImpl implements SshAgent {
 
-    private final List<Pair<KeyPair, String>> keys = new ArrayList<Pair<KeyPair, String>>();
+    private final List<Pair<KeyPair, String>> keys = new ArrayList<>();
     private final AtomicBoolean open = new AtomicBoolean(true);
 
     public AgentImpl() {
@@ -60,9 +60,9 @@ public class AgentImpl implements SshAgent {
             throw new SshException("Agent closed");
         }
 
-        List<Pair<PublicKey, String>> pks = new ArrayList<Pair<PublicKey, String>>();
+        List<Pair<PublicKey, String>> pks = new ArrayList<>();
         for (Pair<KeyPair, String> kp : keys) {
-            pks.add(new Pair<PublicKey, String>(kp.getFirst().getPublic(), kp.getSecond()));
+            pks.add(new Pair<>(kp.getFirst().getPublic(), kp.getSecond()));
         }
         return pks;
     }
@@ -104,7 +104,7 @@ public class AgentImpl implements SshAgent {
         if (!isOpen()) {
             throw new SshException("Agent closed");
         }
-        keys.add(new Pair<KeyPair, String>(key, comment));
+        keys.add(new Pair<>(key, comment));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
index 1955cd5..09e0a3e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/ProxyAgentFactory.java
@@ -37,7 +37,7 @@ import org.apache.sshd.server.session.ServerSession;
 
 public class ProxyAgentFactory implements SshAgentFactory {
 
-    private final Map<String, AgentServerProxy> proxies = new ConcurrentHashMap<String, AgentServerProxy>();
+    private final Map<String, AgentServerProxy> proxies = new ConcurrentHashMap<>();
 
     public ProxyAgentFactory() {
         super();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
index 85b19ac..1756d84 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
@@ -190,9 +190,9 @@ public class SshClient extends AbstractFactoryManager implements ClientFactoryMa
         if (agentFactory != null) {
             List<NamedFactory<Channel>> factories = getChannelFactories();
             if (GenericUtils.isEmpty(factories)) {
-                factories = new ArrayList<NamedFactory<Channel>>();
+                factories = new ArrayList<>();
             } else {
-                factories = new ArrayList<NamedFactory<Channel>>(factories);
+                factories = new ArrayList<>(factories);
             }
             factories.add(ValidateUtils.checkNotNull(agentFactory.getChannelForwardingFactory(), "No agent channel forwarding factory for %s", agentFactory));
 
@@ -329,8 +329,8 @@ public class SshClient extends AbstractFactoryManager implements ClientFactoryMa
         String host = null;
         String login = null;
         boolean error = false;
-        List<File> identities = new ArrayList<File>();
-        Map<String, String> options = new LinkedHashMap<String, String>();
+        List<File> identities = new ArrayList<>();
+        Map<String, String> options = new LinkedHashMap<>();
         int numArgs = GenericUtils.length(args);
         for (int i = 0; i < numArgs; i++) {
             String argName = args[i];
@@ -556,7 +556,7 @@ public class SshClient extends AbstractFactoryManager implements ClientFactoryMa
                     target = argName;
                 } else {
                     if (command == null) {
-                        command = new ArrayList<String>();
+                        command = new ArrayList<>();
                     }
                     command.add(argName);
                 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
index eaec00e..3ccd972 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
@@ -98,7 +98,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
     private List<String> keyTypes;
     private InputStream input;
     private Level level;
-    private final Map<String,String> currentHostFingerprints = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
+    private final Map<String,String> currentHostFingerprints = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     public SshKeyScan() {
         super();
@@ -176,8 +176,8 @@ public class SshKeyScan extends AbstractSimplifiedLog
          * key, so pre-create the factories map according to the selected
          * key types
          */
-        Map<String,List<NamedFactory<Signature>>> sigFactories = new TreeMap<String,List<NamedFactory<Signature>>>(String.CASE_INSENSITIVE_ORDER);
-        for (String kt : new TreeSet<String>(pairsMap.keySet())) {
+        Map<String,List<NamedFactory<Signature>>> sigFactories = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        for (String kt : new TreeSet<>(pairsMap.keySet())) {
             List<NamedFactory<Signature>> factories = resolveSignatureFactories(kt);
             if (GenericUtils.isEmpty(factories)) {
                 if (isEnabled(Level.FINEST)) {
@@ -418,7 +418,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
         } else if (BuiltinIdentities.Constants.DSA.equalsIgnoreCase(keyType)) {
             return Collections.singletonList((NamedFactory<Signature>) BuiltinSignatures.dsa);
         } else if (BuiltinIdentities.Constants.ECDSA.equalsIgnoreCase(keyType)) {
-            List<NamedFactory<Signature>> factories = new ArrayList<NamedFactory<Signature>>(ECCurves.NAMES.size());
+            List<NamedFactory<Signature>> factories = new ArrayList<>(ECCurves.NAMES.size());
             for (String n : ECCurves.NAMES) {
                 if (isEnabled(Level.FINER)) {
                     log(Level.FINER, "Resolve signature factory for curve=" + n);
@@ -440,7 +440,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
             return Collections.emptyMap();
         }
 
-        Map<String,List<KeyPair>> pairsMap = new TreeMap<String,List<KeyPair>>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,List<KeyPair>> pairsMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (String kt : typeNames) {
             if (pairsMap.containsKey(kt)) {
                 log(Level.WARNING, "Key type " + kt + " re-specified");
@@ -473,7 +473,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
                 throw new InvalidKeySpecException("ECC not supported");
             }
 
-            List<KeyPair> kps = new ArrayList<KeyPair>(ECCurves.NAMES.size());
+            List<KeyPair> kps = new ArrayList<>(ECCurves.NAMES.size());
             for (ECCurves curve : ECCurves.VALUES) {
                 String curveName = curve.getName();
                 if (isEnabled(Level.FINER)) {
@@ -585,7 +585,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
                     return Collections.singletonList(optName);
                 }
                 
-                List<String> hosts = new ArrayList<String>(remaining);
+                List<String> hosts = new ArrayList<>(remaining);
                 for ( ; index < numArgs; index++) {
                     hosts.add(args[index]);
                 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
index f7f66c4..5ee1578 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthKeyboardInteractive.java
@@ -56,7 +56,7 @@ public class UserAuthKeyboardInteractive extends AbstractLoggingBean implements
     public void init(ClientSession session, String service, Collection<?> identities) throws Exception {
         this.session = session;
         this.service = service;
-        List<String> pwds = new ArrayList<String>();
+        List<String> pwds = new ArrayList<>();
         for (Object o : identities) {
             if (o instanceof String) {
                 pwds.add((String) o);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
index 3a43362..3424056 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPassword.java
@@ -48,7 +48,7 @@ public class UserAuthPassword extends AbstractLoggingBean implements UserAuth {
     public void init(ClientSession session, String service, Collection<?> identities) throws Exception {
         this.session = session;
         this.service = service;
-        List<String> pwds = new ArrayList<String>();
+        List<String> pwds = new ArrayList<>();
         for (Object o : identities) {
             if (o instanceof String) {
                 pwds.add((String) o);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
index 712a84a..0522218 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKey.java
@@ -62,7 +62,7 @@ public class UserAuthPublicKey extends AbstractLoggingBean implements UserAuth {
     public void init(ClientSession session, String service, Collection<?> identities) throws Exception {
         this.session = session;
         this.service = service;
-        List<PublicKeyIdentity> ids = new ArrayList<PublicKeyIdentity>();
+        List<PublicKeyIdentity> ids = new ArrayList<>();
         for (Object o : identities) {
             if (o instanceof KeyPair) {
                 ids.add(new KeyPairIdentity(session.getFactoryManager(), (KeyPair) o));

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
index a92ca9a..c32ab84 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
@@ -319,7 +319,7 @@ public final class ClientIdentity {
         
         ValidateUtils.checkTrue(Files.isDirectory(dir, options), "Not a directory: %s", dir);
         
-        Map<String,Path> paths = new TreeMap<String, Path>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,Path> paths = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (String t : types) {
             String fileName = idGenerator.transform(t);
             Path p = dir.resolve(fileName);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 2dd3589..357be15 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
@@ -119,7 +119,7 @@ import org.apache.sshd.common.util.logging.AbstractLoggingBean;
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
 public abstract class AbstractSftpClient extends AbstractLoggingBean implements SftpClient, RawSftpClient {
-    private final AtomicReference<Map<String,Object>> parsedExtensionsHolder = new AtomicReference<Map<String,Object>>(null);
+    private final AtomicReference<Map<String,Object>> parsedExtensionsHolder = new AtomicReference<>(null);
 
     protected AbstractSftpClient() {
         super();
@@ -248,7 +248,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
         Map<String,Object> parsed = parsedExtensionsHolder.get();
         if (parsed == null) {
             if ((parsed=ParserUtils.parse(extensions)) == null) {
-                parsed = Collections.<String,Object>emptyMap();
+                parsed = Collections.emptyMap();
             }
             parsedExtensionsHolder.set(parsed);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 af4b0d2..1d4ee38 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
@@ -64,7 +64,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
     private final byte[] workBuf = new byte[Integer.SIZE / Byte.SIZE];  // TODO in JDK-8 use Integer.BYTES
     private boolean closing;
     private int version;
-    private final Map<String,byte[]> extensions = new TreeMap<String,byte[]>(String.CASE_INSENSITIVE_ORDER);
+    private final Map<String,byte[]> extensions = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
     private final Map<String,byte[]> exposedExtensions = Collections.unmodifiableMap(extensions);
 
     public DefaultSftpClient(ClientSession clientSession) throws IOException {
@@ -323,7 +323,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
             }
         }
 
-        int selected = selector.selectVersion(current, new ArrayList<Integer>(available));
+        int selected = selector.selectVersion(current, new ArrayList<>(available));
         if (log.isDebugEnabled()) {
             log.debug("negotiateVersion({}) {} -> {}", Integer.valueOf(current), available, Integer.valueOf(selected));
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 1371d7d..5b6a602 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
@@ -55,7 +55,7 @@ public class SftpCommand implements Channel {
                 private static final long serialVersionUID = 1L;    // we're not serializing it
                 
                 {
-                    for (CommandExecutor e : Arrays.<CommandExecutor>asList(
+                    for (CommandExecutor e : Arrays.asList(
                                 new CommandExecutor() {
                                         @Override
                                         public String getName() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
index b31ff8f..4fc6fc1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
@@ -57,7 +57,7 @@ public class SftpFileChannel extends FileChannel {
     private final SftpClient.CloseableHandle handle;
     private final Object lock = new Object();
     private final AtomicLong posTracker = new AtomicLong(0L);
-    private final AtomicReference<Thread> blockingThreadHolder = new AtomicReference<Thread>(null);
+    private final AtomicReference<Thread> blockingThreadHolder = new AtomicReference<>(null);
 
     public SftpFileChannel(SftpPath p, Collection<SftpClient.OpenMode> modes) throws IOException {
         this.p = ValidateUtils.checkNotNull(p, "No target path", GenericUtils.EMPTY_OBJECT_ARRAY);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 85324e2..8389061 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
@@ -94,7 +94,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
 
     public static final Set<Class<? extends FileAttributeView>> SUPPORTED_VIEWS =
             Collections.unmodifiableSet(
-                    new HashSet<Class<? extends FileAttributeView>>(
+                    new HashSet<>(
                             Arrays.<Class<? extends FileAttributeView>>asList(
                                     BasicFileAttributeView.class, PosixFileAttributeView.class
                             )));
@@ -760,7 +760,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
         }
     }
 
-    public boolean isSupportedFileAttributeView(Class<?> type) {
+    public boolean isSupportedFileAttributeView(Class<? extends FileAttributeView> type) {
         if ((type != null) && SUPPORTED_VIEWS.contains(type)) {
             return true;
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 7d66a85..8a91309 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
@@ -71,9 +71,9 @@ public abstract class AbstractChannel
     protected int id;
     protected int recipient;
     private final AtomicBoolean eof = new AtomicBoolean(false);
-    protected AtomicReference<GracefulState> gracefulState = new AtomicReference<GracefulState>(GracefulState.Opened);
+    protected AtomicReference<GracefulState> gracefulState = new AtomicReference<>(GracefulState.Opened);
     protected final DefaultCloseFuture gracefulFuture = new DefaultCloseFuture(lock);
-    protected final List<RequestHandler<Channel>> handlers = new ArrayList<RequestHandler<Channel>>();
+    protected final List<RequestHandler<Channel>> handlers = new ArrayList<>();
 
     protected AbstractChannel() {
         super();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 5ee174d..85edc24 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
@@ -34,7 +34,7 @@ public class ChannelAsyncOutputStream extends CloseableUtils.AbstractCloseable i
 
     private final Channel channel;
     private final byte cmd;
-    private final AtomicReference<IoWriteFutureImpl> pendingWrite = new AtomicReference<IoWriteFutureImpl>();
+    private final AtomicReference<IoWriteFutureImpl> pendingWrite = new AtomicReference<>();
 
     public ChannelAsyncOutputStream(Channel channel, byte cmd) {
         this.channel = channel;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 991c74f..08e38e3 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
@@ -170,7 +170,7 @@ public enum BuiltinCiphers implements CipherFactory {
     public static final Set<BuiltinCiphers> VALUES =
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinCiphers.class));
     private static final Map<String,CipherFactory>   extensions =
-            new TreeMap<String,CipherFactory>(String.CASE_INSENSITIVE_ORDER);
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     /**
      * Registered a {@link NamedFactory} to be available besides the built-in
@@ -278,8 +278,8 @@ public enum BuiltinCiphers implements CipherFactory {
             return ParseResult.EMPTY;
         }
         
-        List<CipherFactory> factories=new ArrayList<CipherFactory>(ciphers.size());
-        List<String>        unknown=Collections.<String>emptyList();
+        List<CipherFactory> factories=new ArrayList<>(ciphers.size());
+        List<String>        unknown=Collections.emptyList();
         for (String name : ciphers) {
             CipherFactory  c=resolveFactory(name);
             if (c != null) {
@@ -287,7 +287,7 @@ public enum BuiltinCiphers implements CipherFactory {
             } else {
                 // replace the (unmodifiable) empty list with a real one
                 if (unknown.isEmpty()) {
-                    unknown = new ArrayList<String>();
+                    unknown = new ArrayList<>();
                 }
                 unknown.add(name);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 0d9e38f..d6bb3b2 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
@@ -83,7 +83,7 @@ public enum BuiltinCompressions implements CompressionFactory {
     public static final Set<BuiltinCompressions> VALUES =
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinCompressions.class));
     private static final Map<String,CompressionFactory>   extensions =
-            new TreeMap<String,CompressionFactory>(String.CASE_INSENSITIVE_ORDER);
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     /**
      * Registered a {@link NamedFactory} to be available besides the built-in
@@ -153,8 +153,8 @@ public enum BuiltinCompressions implements CompressionFactory {
             return ParseResult.EMPTY;
         }
         
-        List<CompressionFactory>    factories=new ArrayList<CompressionFactory>(Compressions.size());
-        List<String>                unknown=Collections.<String>emptyList();
+        List<CompressionFactory>    factories=new ArrayList<>(Compressions.size());
+        List<String>                unknown=Collections.emptyList();
         for (String name : Compressions) {
             CompressionFactory  c=resolveFactory(name);
             if (c != null) {
@@ -162,7 +162,7 @@ public enum BuiltinCompressions implements CompressionFactory {
             } else {
                 // replace the (unmodifiable) empty list with a real one
                 if (unknown.isEmpty()) {
-                    unknown = new ArrayList<String>();
+                    unknown = new ArrayList<>();
                 }
                 unknown.add(name);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java b/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java
index 85bf2d3..7f3e73a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/VersionProperties.java
@@ -44,7 +44,7 @@ public final class VersionProperties {
         }
 
         private static Map<String,String> loadVersionProperties(Class<?> anchor, ClassLoader loader) {
-            Map<String,String> result = new TreeMap<String,String>(String.CASE_INSENSITIVE_ORDER);
+            Map<String,String> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
             try {
                 InputStream input = loader.getResourceAsStream("org/apache/sshd/sshd-version.properties");
                 if (input == null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
index 15e8c2f..e1b945f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
@@ -76,7 +76,7 @@ public final class IdentityUtils {
             return null;
         }
         
-        Map<String,KeyPair> pairsMap = new TreeMap<String, KeyPair>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,KeyPair> pairsMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (Map.Entry<String, KeyPair> ide : ids.entrySet()) {
             String type = ide.getKey();
             KeyPair kp = ide.getValue();
@@ -127,7 +127,7 @@ public final class IdentityUtils {
             return Collections.emptyMap();
         }
         
-        Map<String,KeyPair> ids = new TreeMap<String, KeyPair>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,KeyPair> ids = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (Map.Entry<String,? extends Path> pe : paths.entrySet()) {
             String type = pe.getKey();
             Path path = pe.getValue();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/file/util/MockFileSystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/util/MockFileSystem.java b/sshd-core/src/main/java/org/apache/sshd/common/file/util/MockFileSystem.java
index db5fab8..4972f55 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/util/MockFileSystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/util/MockFileSystem.java
@@ -73,17 +73,17 @@ public class MockFileSystem extends FileSystem {
 
     @Override
     public Iterable<Path> getRootDirectories() {
-        return Collections.<Path>emptyList();
+        return Collections.emptyList();
     }
 
     @Override
     public Iterable<FileStore> getFileStores() {
-        return Collections.<FileStore>emptyList();
+        return Collections.emptyList();
     }
 
     @Override
     public Set<String> supportedFileAttributeViews() {
-        return Collections.<String>emptySet();
+        return Collections.emptySet();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
index b289cd2..d26d7ec 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaAcceptor.java
@@ -39,7 +39,7 @@ public class MinaAcceptor extends MinaService implements org.apache.sshd.common.
     public static final int DEFAULT_BACKLOG=0;
     public static final boolean DEFAULT_REUSE_ADDRESS=true;
 
-    protected final AtomicReference<IoAcceptor> acceptorHolder = new AtomicReference<IoAcceptor>(null);
+    protected final AtomicReference<IoAcceptor> acceptorHolder = new AtomicReference<>(null);
 
     // Acceptor
     protected int backlog = DEFAULT_BACKLOG;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
index 53214a2..24801b4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaConnector.java
@@ -36,7 +36,7 @@ import org.apache.sshd.common.io.IoConnectFuture;
  */
 public class MinaConnector extends MinaService implements org.apache.sshd.common.io.IoConnector, IoHandler {
 
-    protected final AtomicReference<IoConnector> connectorHolder = new AtomicReference<IoConnector>(null);
+    protected final AtomicReference<IoConnector> connectorHolder = new AtomicReference<>(null);
 
     public MinaConnector(FactoryManager manager, org.apache.sshd.common.io.IoHandler handler, IoProcessor<NioSession> ioProcessor) {
         super(manager, handler, ioProcessor);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
index cbf0ef8..2053797 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
@@ -63,8 +63,8 @@ public abstract class MinaService extends CloseableUtils.AbstractCloseable imple
 
     @Override
     public Map<Long, org.apache.sshd.common.io.IoSession> getManagedSessions() {
-        Map<Long, IoSession> mina = new HashMap<Long, IoSession>(getIoService().getManagedSessions());
-        Map<Long, org.apache.sshd.common.io.IoSession> sessions = new HashMap<Long, org.apache.sshd.common.io.IoSession>();
+        Map<Long, IoSession> mina = new HashMap<>(getIoService().getManagedSessions());
+        Map<Long, org.apache.sshd.common.io.IoSession> sessions = new HashMap<>();
         for (Long id : mina.keySet()) {
             // Avoid possible NPE if the MinaSession hasn't been created yet
             org.apache.sshd.common.io.IoSession session = getSession(mina.get(id));

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 29ba7cf..aaa83f8 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
@@ -104,7 +104,7 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
 
     @Override
     public Set<SocketAddress> getBoundAddresses() {
-        return new HashSet<SocketAddress>(channels.keySet());
+        return new HashSet<>(channels.keySet());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 05c7392..9120602 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
@@ -51,7 +51,7 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
         this.manager = ValidateUtils.checkNotNull(manager, "No factory manager provided", GenericUtils.EMPTY_OBJECT_ARRAY);
         this.handler = ValidateUtils.checkNotNull(handler, "No I/O handler provided", GenericUtils.EMPTY_OBJECT_ARRAY);
         this.group = ValidateUtils.checkNotNull(group, "No async. channel group provided", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.sessions = new ConcurrentHashMap<Long, IoSession>();
+        this.sessions = new ConcurrentHashMap<>();
     }
 
     public void dispose() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 7e137a6..a932072 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
@@ -57,8 +57,8 @@ public class Nio2Session extends CloseableUtils.AbstractCloseable implements IoS
     private final SocketAddress localAddress;
     private final SocketAddress remoteAddress;
     private final FactoryManager manager;
-    private final Queue<Nio2DefaultIoWriteFuture> writes = new LinkedTransferQueue<Nio2DefaultIoWriteFuture>();
-    private final AtomicReference<Nio2DefaultIoWriteFuture> currentWrite = new AtomicReference<Nio2DefaultIoWriteFuture>();
+    private final Queue<Nio2DefaultIoWriteFuture> writes = new LinkedTransferQueue<>();
+    private final AtomicReference<Nio2DefaultIoWriteFuture> currentWrite = new AtomicReference<>();
 
     public Nio2Session(Nio2Service service, FactoryManager manager, IoHandler handler, AsynchronousSocketChannel socket) throws IOException {
         this.service = service;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 e5c930d..d946253 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
@@ -254,8 +254,8 @@ public enum BuiltinDHFactories implements DHFactory {
             return ParseResult.EMPTY;
         }
         
-        List<DHFactory> factories=new ArrayList<DHFactory>(dhList.size());
-        List<String>    unknown=Collections.<String>emptyList();
+        List<DHFactory> factories=new ArrayList<>(dhList.size());
+        List<String>    unknown=Collections.emptyList();
         for (String name : dhList) {
             DHFactory  f=resolveFactory(name);
             if (f != null) {
@@ -263,7 +263,7 @@ public enum BuiltinDHFactories implements DHFactory {
             } else {
                 // replace the (unmodifiable) empty list with a real one
                 if (unknown.isEmpty()) {
-                    unknown = new ArrayList<String>();
+                    unknown = new ArrayList<>();
                 }
                 unknown.add(name);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractFileKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractFileKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractFileKeyPairProvider.java
index 13b4bf3..25e57fd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractFileKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractFileKeyPairProvider.java
@@ -55,7 +55,7 @@ public abstract class AbstractFileKeyPairProvider extends AbstractResourceKeyPai
         if (GenericUtils.isEmpty(files)) {
             setPaths(Collections.<Path>emptyList());
         } else {
-            List<Path> paths = new ArrayList<Path>(files.size());
+            List<Path> paths = new ArrayList<>(files.size());
             for (File f : files) {
                 paths.add(f.toPath());
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
index 9a0aa73..1f5c9f3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
@@ -52,7 +52,7 @@ public abstract class AbstractKeyPairProvider extends AbstractLoggingBean implem
 
     @Override
     public List<String> getKeyTypes() {
-        List<String> types = new ArrayList<String>();
+        List<String> types = new ArrayList<>();
         Iterable<KeyPair> keys = loadKeys();
         for (KeyPair key : keys) {
             String type = KeyUtils.getKeyType(key);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
index 79c4ab9..85a59f2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractResourceKeyPairProvider.java
@@ -45,7 +45,7 @@ public abstract class AbstractResourceKeyPairProvider<R> extends AbstractKeyPair
      * practice to have 2 key files that differ from one another only in their
      * case... 
      */
-    private final Map<String,KeyPair>   cacheMap=new TreeMap<String, KeyPair>(String.CASE_INSENSITIVE_ORDER);
+    private final Map<String,KeyPair>   cacheMap=new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     protected AbstractResourceKeyPairProvider() {
         super();
@@ -61,7 +61,7 @@ public abstract class AbstractResourceKeyPairProvider<R> extends AbstractKeyPair
 
     protected void resetCacheMap(Collection<?> resources) {
         // if have any cached pairs then see what we can keep from previous load
-        Collection<String>  toDelete=Collections.<String>emptySet();
+        Collection<String>  toDelete=Collections.emptySet();
         synchronized(cacheMap) {
             if (cacheMap.size() <= 0) {
                 return; // already empty - nothing to keep

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 d48622b..990a72e 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
@@ -104,7 +104,7 @@ public enum BuiltinMacs implements MacFactory {
     public static final Set<BuiltinMacs> VALUES =
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinMacs.class));
     private static final Map<String,MacFactory>   extensions =
-            new TreeMap<String,MacFactory>(String.CASE_INSENSITIVE_ORDER);
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     /**
      * Registered a {@link NamedFactory} to be available besides the built-in
@@ -212,8 +212,8 @@ public enum BuiltinMacs implements MacFactory {
             return ParseResult.EMPTY;
         }
         
-        List<MacFactory> factories=new ArrayList<MacFactory>(macs.size());
-        List<String>            unknown=Collections.<String>emptyList();
+        List<MacFactory> factories=new ArrayList<>(macs.size());
+        List<String>            unknown=Collections.emptyList();
         for (String name : macs) {
             MacFactory   m=resolveFactory(name);
             if (m != null) {
@@ -221,7 +221,7 @@ public enum BuiltinMacs implements MacFactory {
             } else {
                 // replace the (unmodifiable) empty list with a real one
                 if (unknown.isEmpty()) {
-                    unknown = new ArrayList<String>();
+                    unknown = new ArrayList<>();
                 }
                 unknown.add(name);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
index 92ff394..864f20b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
@@ -74,7 +74,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
         public static final int DEFAULT_MAX_CHANNELS = Integer.MAX_VALUE;
 
     /** Map of channels keyed by the identifier */
-    protected final Map<Integer, Channel> channels = new ConcurrentHashMap<Integer, Channel>();
+    protected final Map<Integer, Channel> channels = new ConcurrentHashMap<>();
     /** Next channel identifier */
     protected final AtomicInteger nextChannelId = new AtomicInteger(0);
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
index fe96321..535301c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java
@@ -119,9 +119,9 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
     protected String serverVersion;
     protected String clientVersion;
     // if empty then means not-initialized
-    protected final Map<KexProposalOption,String> serverProposal = new EnumMap<KexProposalOption, String>(KexProposalOption.class);
-    protected final Map<KexProposalOption,String> clientProposal = new EnumMap<KexProposalOption, String>(KexProposalOption.class);
-    private final Map<KexProposalOption,String> negotiationResult  = new EnumMap<KexProposalOption, String>(KexProposalOption.class);
+    protected final Map<KexProposalOption,String> serverProposal = new EnumMap<>(KexProposalOption.class);
+    protected final Map<KexProposalOption,String> clientProposal = new EnumMap<>(KexProposalOption.class);
+    private final Map<KexProposalOption,String> negotiationResult  = new EnumMap<>(KexProposalOption.class);
     protected byte[] I_C; // the payload of the client's SSH_MSG_KEXINIT
     protected byte[] I_S; // the payload of the factoryManager's SSH_MSG_KEXINIT
     protected KeyExchange kex;
@@ -150,8 +150,8 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
     protected final Object encodeLock = new Object();
     protected final Object decodeLock = new Object();
     protected final Object requestLock = new Object();
-    protected final AtomicReference<Buffer> requestResult = new AtomicReference<Buffer>();
-    protected final Map<AttributeKey<?>, Object> attributes = new ConcurrentHashMap<AttributeKey<?>, Object>();
+    protected final AtomicReference<Buffer> requestResult = new AtomicReference<>();
+    protected final Map<AttributeKey<?>, Object> attributes = new ConcurrentHashMap<>();
 
     // Session timeout
     protected long authTimeoutTimestamp = 0L;
@@ -159,7 +159,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
     protected long authTimeoutMs = TimeUnit.MINUTES.toMillis(2);          // 2 minutes in milliseconds
     protected long idleTimeoutMs = TimeUnit.MINUTES.toMillis(10);         // 10 minutes in milliseconds
     protected long disconnectTimeoutMs = TimeUnit.SECONDS.toMillis(10);   // 10 seconds in milliseconds
-    protected final AtomicReference<TimeoutStatus> timeoutStatus = new AtomicReference<TimeoutStatus>(TimeoutStatus.NoTimeout);
+    protected final AtomicReference<TimeoutStatus> timeoutStatus = new AtomicReference<>(TimeoutStatus.NoTimeout);
 
     //
     // Rekeying
@@ -169,7 +169,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
     protected final AtomicLong inBytesCount = new AtomicLong(0L);
     protected final AtomicLong outBytesCount = new AtomicLong(0L);
     protected final AtomicLong lastKeyTimeValue = new AtomicLong(0L);
-    protected final Queue<PendingWriteFuture> pendingPackets = new LinkedList<PendingWriteFuture>();
+    protected final Queue<PendingWriteFuture> pendingPackets = new LinkedList<>();
 
     protected Service currentService;
 
@@ -896,7 +896,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
      * @return The proposal {@link Map>
      */
     protected Map<KexProposalOption,String> createProposal(String hostKeyTypes) {
-        Map<KexProposalOption,String> proposal = new EnumMap<KexProposalOption, String>(KexProposalOption.class);
+        Map<KexProposalOption,String> proposal = new EnumMap<>(KexProposalOption.class);
         proposal.put(KexProposalOption.ALGORITHMS, NamedResource.Utils.getNames(factoryManager.getKeyExchangeFactories()));
         proposal.put(KexProposalOption.SERVERKEYS, hostKeyTypes);
         
@@ -1215,7 +1215,7 @@ public abstract class AbstractSession extends CloseableUtils.AbstractInnerClosea
      * @return The negotiated options {@link Map}
      */
     protected Map<KexProposalOption,String> negotiate() {
-        Map<KexProposalOption,String> guess = new EnumMap<KexProposalOption, String>(KexProposalOption.class);
+        Map<KexProposalOption,String> guess = new EnumMap<>(KexProposalOption.class);
         for (KexProposalOption paramType : KexProposalOption.VALUES) {
         	String clientParamValue = clientProposal.get(paramType);
         	String serverParamValue = serverProposal.get(paramType);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSessionFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSessionFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSessionFactory.java
index e0bdd1f..20c86ac 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSessionFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSessionFactory.java
@@ -31,7 +31,7 @@ import org.apache.sshd.common.util.ValidateUtils;
  */
 public abstract class AbstractSessionFactory extends AbstractSessionIoHandler {
 
-    protected final List<SessionListener> listeners = new CopyOnWriteArrayList<SessionListener>();
+    protected final List<SessionListener> listeners = new CopyOnWriteArrayList<>();
 
     protected AbstractSessionFactory() {
     	super();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 57e9840..feb6d15 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
@@ -106,7 +106,7 @@ public abstract class AbstractSignature implements Signature {
         String keyType = new String(sig, keyTypeStartPos, (int) keyTypeLen, StandardCharsets.UTF_8);
         byte[] data = new byte[(int) dataBytesLen];
         System.arraycopy(sig, keyTypeEndPos + (Integer.SIZE / Byte.SIZE), data, 0, (int) dataBytesLen);
-        return new Pair<String,byte[]>(keyType, data);
+        return new Pair<>(keyType, data);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 f9bd7df..d79e0e3 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
@@ -127,7 +127,7 @@ public enum BuiltinSignatures implements SignatureFactory {
     public static final Set<BuiltinSignatures> VALUES = 
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinSignatures.class));
     private static final Map<String,SignatureFactory>   extensions = 
-            new TreeMap<String,SignatureFactory>(String.CASE_INSENSITIVE_ORDER);
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
 
     /**
      * Registered a {@link NamedFactory} to be available besides the built-in
@@ -238,8 +238,8 @@ public enum BuiltinSignatures implements SignatureFactory {
             return ParseResult.EMPTY;
         }
         
-        List<SignatureFactory>  factories=new ArrayList<SignatureFactory>(sigs.size());
-        List<String>            unknown=Collections.<String>emptyList();
+        List<SignatureFactory>  factories=new ArrayList<>(sigs.size());
+        List<String>            unknown=Collections.emptyList();
         for (String name : sigs) {
             SignatureFactory s=resolveFactory(name);
             if (s != null) {
@@ -247,7 +247,7 @@ public enum BuiltinSignatures implements SignatureFactory {
             } else {
                 // replace the (unmodifiable) empty list with a real one
                 if (unknown.isEmpty()) {
-                    unknown = new ArrayList<String>();
+                    unknown = new ArrayList<>();
                 }
                 unknown.add(name);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 94c7151..5e879c7 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
@@ -148,7 +148,7 @@ public final class ParserUtils {
             return GenericUtils.asSortedSet(String.CASE_INSENSITIVE_ORDER, extra);
         }
         
-        Set<String> result = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
+        Set<String> result = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
         result.addAll(extra);
         result.addAll(extra2);
         return result;
@@ -168,7 +168,7 @@ public final class ParserUtils {
             return Collections.emptyMap();
         }
         
-        Map<String,Object> data = new TreeMap<String,Object>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,Object> data = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (Map.Entry<String,byte[]> ee : extensions.entrySet()) {
             String name = ee.getKey();
             Object result = parse(name, ee.getValue());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
index dc566dc..2acda50 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/CloseableUtils.java
@@ -316,7 +316,7 @@ public final class CloseableUtils {
         /** Lock object for this session state */
         protected final Object lock = new Object();
         /** State of this object */
-        protected final AtomicReference<State> state = new AtomicReference<State>(State.Opened);
+        protected final AtomicReference<State> state = new AtomicReference<>(State.Opened);
         /** A future that will be set 'closed' when the object is actually closed */
         protected final CloseFuture closeFuture = new DefaultCloseFuture(lock);
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 1b60133..be7f27d 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
@@ -231,7 +231,7 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
         ValidateUtils.checkTrue(getPort() >= 0 /* zero means not set yet */, "Bad port number: %d", Integer.valueOf(getPort()));
 
         if (GenericUtils.isEmpty(getUserAuthFactories())) {
-            List<NamedFactory<UserAuth>> factories = new ArrayList<NamedFactory<UserAuth>>();
+            List<NamedFactory<UserAuth>> factories = new ArrayList<>();
             if (getPasswordAuthenticator() != null) {
                 factories.add(DEFAULT_USER_AUTH_PASSWORD_FACTORY);
                 factories.add(DEFAULT_USER_AUTH_KB_INTERACTIVE_FACTORY);
@@ -351,7 +351,7 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
      * Obtain the list of active sessions.
      */
     public List<AbstractSession> getActiveSessions() {
-        List<AbstractSession> sessions = new ArrayList<AbstractSession>();
+        List<AbstractSession> sessions = new ArrayList<>();
         for (IoSession ioSession : acceptor.getManagedSessions().values()) {
             AbstractSession session = AbstractSession.getSession(ioSession, true);
             if (session != null) {
@@ -386,7 +386,7 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
         int port = 8000;
         String provider;
         boolean error = false;
-        Map<String, String> options = new LinkedHashMap<String, String>();
+        Map<String, String> options = new LinkedHashMap<>();
 
         int numArgs = GenericUtils.length(args);
         for (int i = 0; i < numArgs; i++) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
index 2d736a4..426bc08 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
@@ -44,7 +44,7 @@ public class CachingPublicKeyAuthenticator implements PublickeyAuthenticator, Se
     public boolean authenticate(String username, PublicKey key, ServerSession session) {
         Map<PublicKey, Boolean> map = cache.get(session);
         if (map == null) {
-            map = new ConcurrentHashMap<PublicKey, Boolean>();
+            map = new ConcurrentHashMap<>();
             cache.put(session, map);
             session.addListener(this);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
index da1f6f6..46933f2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/gss/CredentialHelper.java
@@ -67,7 +67,7 @@ public class CredentialHelper {
          */
 
         private FixedLoginConfiguration(String spn, String keytab) {
-            Map<String, String> parms = new HashMap<String, String>();
+            Map<String, String> parms = new HashMap<>();
 
             parms.put("isInitiator", "false");
             parms.put("principal", spn);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/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 691c67e..a799598 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
@@ -86,9 +86,9 @@ public class ChannelSession extends AbstractServerChannel {
         private final Map<PtyMode, Integer> ptyModes;
 
         public StandardEnvironment() {
-            listeners = new ConcurrentHashMap<Signal, Set<SignalListener>>(3);
-            env = new ConcurrentHashMap<String, String>();
-            ptyModes = new ConcurrentHashMap<PtyMode, Integer>();
+            listeners = new ConcurrentHashMap<>(3);
+            env = new ConcurrentHashMap<>();
+            ptyModes = new ConcurrentHashMap<>();
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
index b5359f4..37486b5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
@@ -64,7 +64,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
 
     private String  comment;
     // for options that have no value, "true" is used
-    private Map<String,String> loginOptions=Collections.<String,String>emptyMap();
+    private Map<String,String> loginOptions=Collections.emptyMap();
 
     public AuthorizedKeyEntry() {
         super();
@@ -84,7 +84,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
 
     public void setLoginOptions(Map<String,String> value) {
         if ((this.loginOptions=value) == null) {
-            this.loginOptions = Collections.<String,String>emptyMap();
+            this.loginOptions = Collections.emptyMap();
         }
     }
 
@@ -283,7 +283,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
             }
 
             if (entries == null) {
-                entries = new LinkedList<AuthorizedKeyEntry>();
+                entries = new LinkedList<>();
             }
 
             entries.add(entry);
@@ -344,7 +344,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
             return Collections.emptyMap();
         }
         
-        Map<String,String>  optsMap=new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,String>  optsMap=new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (String p : pairs) {
             p = GenericUtils.trimToEmpty(p);
             if (GenericUtils.isEmpty(p)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
index 898397c..bc9f536 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/ServerIdentity.java
@@ -146,7 +146,7 @@ public final class ServerIdentity {
             return Collections.emptyMap();
         }
         
-        Map<String,Path> ids = new TreeMap<String, Path>(String.CASE_INSENSITIVE_ORDER);
+        Map<String,Path> ids = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
         for (String p : paths) {
             File file = new File(p);
             Path path = file.toPath();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/26e94eb5/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
index f840709..f4b652b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
@@ -2254,7 +2254,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             return Collections.emptyList();
         }
                 
-        List<OpenSSHExtension> extList = new ArrayList<OpenSSHExtension>(numExts);
+        List<OpenSSHExtension> extList = new ArrayList<>(numExts);
         for (String nvp : pairs) {
             nvp = GenericUtils.trimToEmpty(nvp);
             if (GenericUtils.isEmpty(nvp)) {
@@ -2278,7 +2278,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         }
         
         if (value.length() <= 0) {  // means don't report any extensions
-            return Collections.<String>emptyList();
+            return Collections.emptyList();
         }
 
         String[] comps = GenericUtils.split(value, ',');


[4/6] mina-sshd git commit: Remove boxing / unboxing, remove useless final modifiers, use try with resources, fix a few javadocs

Posted by gn...@apache.org.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 eee2c20..d18efc4 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
@@ -58,7 +58,7 @@ public final class GenericUtils {
         throw new UnsupportedOperationException("No instance");
     }
 
-    public static final String trimToEmpty(String s) {
+    public static String trimToEmpty(String s) {
         if (s == null) {
             return "";
         } else {
@@ -66,7 +66,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final int safeCompare(String s1, String s2, boolean caseSensitive) {
+    public static int safeCompare(String s1, String s2, boolean caseSensitive) {
         if (s1 == s2) {
             return 0;
         } else if (s1 == null) {
@@ -80,7 +80,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final int length(CharSequence cs) {
+    public static int length(CharSequence cs) {
         if (cs == null) {
             return 0;
         } else {
@@ -88,7 +88,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final boolean isEmpty(CharSequence cs) {
+    public static boolean isEmpty(CharSequence cs) {
         if (length(cs) <= 0) {
             return true;
         } else {
@@ -97,7 +97,7 @@ public final class GenericUtils {
     }
 
     // a List would be better, but we want to be compatible with String.split(...)
-    public static final String[] split(String s, char ch) {
+    public static String[] split(String s, char ch) {
         if (isEmpty(s)) {
             return EMPTY_STRING_ARRAY;
         }
@@ -131,15 +131,15 @@ public final class GenericUtils {
         return values.toArray(new String[values.size()]);
     }
 
-    public static final <T> String join(T[] values, char ch) {
+    public static <T> String join(T[] values, char ch) {
         return join(isEmpty(values) ? Collections.<T>emptyList() : Arrays.asList(values), ch);
     }
 
-    public static final String join(Iterable<?> iter, char ch) {
+    public static String join(Iterable<?> iter, char ch) {
         return join((iter == null) ? null : iter.iterator(), ch);
     }
     
-    public static final String join(Iterator<?> iter, char ch) {
+    public static String join(Iterator<?> iter, char ch) {
         if ((iter == null) || (!iter.hasNext())) {
             return "";
         }
@@ -156,15 +156,15 @@ public final class GenericUtils {
         return sb.toString();
     }
 
-    public static final <T> String join(T[] values, CharSequence sep) {
+    public static <T> String join(T[] values, CharSequence sep) {
         return join(isEmpty(values) ? Collections.<T>emptyList() : Arrays.asList(values), sep);
     }
 
-    public static final String join(Iterable<?> iter, CharSequence sep) {
+    public static String join(Iterable<?> iter, CharSequence sep) {
         return join((iter == null) ? null : iter.iterator(), sep);
     }
     
-    public static final String join(Iterator<?> iter, CharSequence sep) {
+    public static String join(Iterator<?> iter, CharSequence sep) {
         if ((iter == null) || (!iter.hasNext())) {
             return "";
         }
@@ -181,7 +181,7 @@ public final class GenericUtils {
         return sb.toString();
     }
     
-    public static final int size(Collection<?> c) {
+    public static int size(Collection<?> c) {
         if (c == null) {
             return 0;
         } else {
@@ -189,7 +189,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final boolean isEmpty(Collection<?> c) {
+    public static boolean isEmpty(Collection<?> c) {
         if (size(c) <= 0) {
             return true;
         } else {
@@ -197,7 +197,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final int size(Map<?,?> m) {
+    public static int size(Map<?,?> m) {
         if (m == null) {
             return 0;
         } else {
@@ -205,7 +205,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final boolean isEmpty(Map<?,?> m) {
+    public static boolean isEmpty(Map<?,?> m) {
         if (size(m) <= 0) {
             return true;
         } else {
@@ -213,7 +213,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final boolean isEmpty(byte[] a) {
+    public static boolean isEmpty(byte[] a) {
         if (length(a) <= 0) {
             return true;
         } else {
@@ -221,7 +221,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final int length(byte ... a) {
+    public static int length(byte ... a) {
         if (a == null) {
             return 0;
         } else {
@@ -230,7 +230,7 @@ public final class GenericUtils {
     }
 
     @SafeVarargs
-    public static final <T> int length(T ... a) {
+    public static <T> int length(T ... a) {
         if (a == null) {
             return 0;
         } else {
@@ -238,7 +238,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final <T> boolean isEmpty(Iterable<? extends T> iter) {
+    public static <T> boolean isEmpty(Iterable<? extends T> iter) {
         if (iter == null) {
             return true;
         } else if (iter instanceof Collection<?>) {
@@ -248,7 +248,7 @@ public final class GenericUtils {
         }
     }
 
-    public static final <T> boolean isEmpty(Iterator<? extends T> iter) {
+    public static <T> boolean isEmpty(Iterator<? extends T> iter) {
         if (iter == null) {
             return true;
         } else if (iter.hasNext()) {
@@ -259,7 +259,7 @@ public final class GenericUtils {
     }
 
     @SafeVarargs
-    public static final <T> boolean isEmpty(T ... a) {
+    public static <T> boolean isEmpty(T ... a) {
         if (length(a) <= 0) {
             return true;
         } else {
@@ -268,11 +268,11 @@ public final class GenericUtils {
     }
 
     @SafeVarargs    // there is no EnumSet.of(...) so we have to provide our own
-    public static final <E extends Enum<E>> Set<E> of(E ... values) {
+    public static <E extends Enum<E>> Set<E> of(E ... values) {
         return of(isEmpty(values) ? Collections.<E>emptySet() : Arrays.asList(values));
     }
 
-    public static final <E extends Enum<E>> Set<E> of(Collection<? extends E> values) {
+    public static <E extends Enum<E>> Set<E> of(Collection<? extends E> values) {
         if (isEmpty(values)) {
             return Collections.emptySet();
         }
@@ -304,12 +304,12 @@ public final class GenericUtils {
     };
 
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public static final <V extends Comparable<V>> Comparator<V> naturalComparator() {
+    public static <V extends Comparable<V>> Comparator<V> naturalComparator() {
         // TODO for JDK-8 use Comparator.naturalOrder() 
         return (Comparator) naturalOrderComparator;
     }
 
-    public static final <V extends Comparable<V>> SortedSet<V> asSortedSet(Collection<? extends V> values) {
+    public static <V extends Comparable<V>> SortedSet<V> asSortedSet(Collection<? extends V> values) {
         // TODO for JDK-8 use Comparator.naturalOrder() 
         return asSortedSet(GenericUtils.<V>naturalComparator(), values);
     }
@@ -320,7 +320,7 @@ public final class GenericUtils {
      * @return A {@link SortedSet} containing the values (if any) sorted
      * using the provided comparator
      */
-    public static final <V> SortedSet<V> asSortedSet(Comparator<? super V> comp, Collection<? extends V> values) {
+    public static <V> SortedSet<V> asSortedSet(Comparator<? super V> comp, Collection<? extends V> values) {
         // TODO for JDK-8 return Collections.emptySortedSet()
         SortedSet<V>    set=new TreeSet<V>(ValidateUtils.checkNotNull(comp, "No comparator"));
         if (size(values) > 0) {
@@ -337,9 +337,9 @@ public final class GenericUtils {
      * @return If the sequence contains any of the {@link #QUOTES}
      * on <U>both</U> ends, then they are stripped, otherwise
      * nothing is done
-     * @see #stripDelimiters(CharSeqeuence, char)
+     * @see #stripDelimiters(CharSequence, char)
      */
-    public static final CharSequence stripQuotes(CharSequence s) {
+    public static  CharSequence stripQuotes(CharSequence s) {
         if (isEmpty(s)) {
             return s;
         }
@@ -361,7 +361,7 @@ public final class GenericUtils {
      * @return If the sequence contains the delimiter on <U>both</U> ends,
      * then it is are stripped, otherwise nothing is done
      */
-    public static final CharSequence stripDelimiters(CharSequence s, char delim) {
+    public static CharSequence stripDelimiters(CharSequence s, char delim) {
         if (isEmpty(s) || (s.length() < 2)) {
             return s;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/OsUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/OsUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/OsUtils.java
index 08f1d1b..529899c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/OsUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/OsUtils.java
@@ -28,7 +28,7 @@ public final class OsUtils {
 
     static {
         String os = System.getProperty("os.name").toLowerCase();
-        win32 = 0 <= os.indexOf("windows");
+        win32 = os.contains("windows");
     }
 
     /** @return true if the host is a UNIX system (and not Windows). */

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
index daa5b13..38ccf45 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
@@ -84,10 +84,10 @@ public class SecurityUtils {
                 getKeyPairGenerator("EC");
                 hasEcc = Boolean.TRUE;
             } catch (Throwable t) {
-                hasEcc = Boolean.TRUE;
+                hasEcc = Boolean.FALSE;
             }
         }
-        return hasEcc.booleanValue();
+        return hasEcc;
     }
 
     public static synchronized void setSecurityProvider(String securityProvider) {
@@ -96,7 +96,7 @@ public class SecurityUtils {
     }
 
     public static synchronized void setRegisterBouncyCastle(boolean registerBouncyCastle) {
-        SecurityUtils.registerBouncyCastle = Boolean.valueOf(registerBouncyCastle);
+        SecurityUtils.registerBouncyCastle = registerBouncyCastle;
         registrationDone = false;
     }
 
@@ -119,7 +119,7 @@ public class SecurityUtils {
                     registerBouncyCastle = Boolean.valueOf(prop);
                 }
             }
-            if ((securityProvider == null) && ((registerBouncyCastle == null) || registerBouncyCastle.booleanValue())) {
+            if ((securityProvider == null) && ((registerBouncyCastle == null) || registerBouncyCastle)) {
                 // Use an inner class to avoid a strong dependency from SshServer on BouncyCastle
                 try {
                     new BouncyCastleRegistration().call();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
index 264e159..097c986 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
@@ -30,82 +30,82 @@ public final class ValidateUtils {
         throw new UnsupportedOperationException("No instance");
     }
 
-    public static final <T> T checkNotNull(T t, String message) {
+    public static <T> T checkNotNull(T t, String message) {
         checkTrue(t != null, message);
         return t;
     }
 
-    public static final <T> T checkNotNull(T t, String message, Object arg) {
+    public static <T> T checkNotNull(T t, String message, Object arg) {
         checkTrue(t != null, message, arg);
         return t;
     }
 
-    public static final <T> T checkNotNull(T t, String message, Object ... args) {
+    public static <T> T checkNotNull(T t, String message, Object ... args) {
         checkTrue(t != null, message, args);
         return t;
     }
 
-    public static final String checkNotNullAndNotEmpty(String t, String message) {
+    public static String checkNotNullAndNotEmpty(String t, String message) {
         t = checkNotNull(t, message).trim();
         checkTrue(GenericUtils.length(t) > 0, message);
         return t;
     }
 
-    public static final String checkNotNullAndNotEmpty(String t, String message, Object arg) {
+    public static String checkNotNullAndNotEmpty(String t, String message, Object arg) {
         t = checkNotNull(t, message, arg).trim();
         checkTrue(GenericUtils.length(t) > 0, message, arg);
         return t;
     }
 
-    public static final String checkNotNullAndNotEmpty(String t, String message, Object ... args) {
+    public static String checkNotNullAndNotEmpty(String t, String message, Object ... args) {
         t = checkNotNull(t, message, args).trim();
         checkTrue(GenericUtils.length(t) > 0, message, args);
         return t;
     }
 
-    public static final <K,V,M extends Map<K,V>> M checkNotNullAndNotEmpty(M t, String message, Object ... args) {
+    public static <K,V,M extends Map<K,V>> M checkNotNullAndNotEmpty(M t, String message, Object ... args) {
         t = checkNotNull(t, message, args);
         checkTrue(GenericUtils.size(t) > 0, message, args);
         return t;
     }
 
-    public static final <T,C extends Collection<T>> C checkNotNullAndNotEmpty(C t, String message, Object ... args) {
+    public static <T,C extends Collection<T>> C checkNotNullAndNotEmpty(C t, String message, Object ... args) {
         t = checkNotNull(t, message, args);
         checkTrue(GenericUtils.size(t) > 0, message, args);
         return t;
     }
 
-    public static final byte[] checkNotNullAndNotEmpty(byte[] t, String message, Object ... args) {
+    public static byte[] checkNotNullAndNotEmpty(byte[] t, String message, Object ... args) {
         t = checkNotNull(t, message, args);
         checkTrue(GenericUtils.length(t) > 0, message, args);
         return t;
     }
 
-    public static final <T> T[] checkNotNullAndNotEmpty(T[] t, String message, Object ... args) {
+    public static <T> T[] checkNotNullAndNotEmpty(T[] t, String message, Object ... args) {
         t = checkNotNull(t, message, args);
         checkTrue(GenericUtils.length(t) > 0, message, args);
         return t;
     }
 
-    public static final void checkTrue(boolean flag, String message) {
+    public static void checkTrue(boolean flag, String message) {
         if (!flag) {
             throwIllegalArgumentException(message, GenericUtils.EMPTY_OBJECT_ARRAY);
         }
     }
 
-    public static final void checkTrue(boolean flag, String message, Object arg) {
+    public static void checkTrue(boolean flag, String message, Object arg) {
         if (!flag) {
             throwIllegalArgumentException(message, arg);
         }
     }
 
-    public static final void checkTrue(boolean flag, String message, Object ... args) {
+    public static void checkTrue(boolean flag, String message, Object ... args) {
         if (!flag) {
             throwIllegalArgumentException(message, args);
         }
     }
     
-    public static final void throwIllegalArgumentException(String message, Object ... args) {
+    public static void throwIllegalArgumentException(String message, Object ... args) {
         throw new IllegalArgumentException(String.format(message, args));
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
index 4a0ca1f..ae037c5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/buffer/BufferUtils.java
@@ -170,7 +170,7 @@ public class BufferUtils {
      * @param value The 32-bit value 
      * @param buf A work buffer to use - must have enough space to contain 4 bytes
      * @throws IOException If failed to write the value or work buffer to small
-     * @see #writeInt(OutputStream, long, byte[], int, int)
+     * @see #writeInt(OutputStream, int, byte[], int, int)
      */
     public static void writeInt(OutputStream output, int value, byte[] buf) throws IOException {
         writeUInt(output, value, buf, 0, GenericUtils.length(buf));
@@ -286,7 +286,7 @@ public class BufferUtils {
                 }
             };
 
-    public static final int getNextPowerOf2(int i) {
+    public static int getNextPowerOf2(int i) {
         int j = 1;
         while (j < i) {
             j <<= 1;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseInputStream.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseInputStream.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseInputStream.java
index 2840c95..c90355e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseInputStream.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseInputStream.java
@@ -37,7 +37,7 @@ public class NoCloseInputStream extends FilterInputStream {
         // ignored
     }
 
-    public static final InputStream resolveInputStream(InputStream input, boolean okToClose) {
+    public static InputStream resolveInputStream(InputStream input, boolean okToClose) {
         if ((input == null) || okToClose) {
             return input;
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseOutputStream.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseOutputStream.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseOutputStream.java
index 8ad5456..869acb4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseOutputStream.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseOutputStream.java
@@ -37,7 +37,7 @@ public class NoCloseOutputStream extends FilterOutputStream {
         // ignored
     }
 
-    public static final OutputStream resolveOutputStream(OutputStream output, boolean okToClose) {
+    public static OutputStream resolveOutputStream(OutputStream output, boolean okToClose) {
         if ((output == null) || okToClose) {
             return output;
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseReader.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseReader.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseReader.java
index dce570e..223bf85 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseReader.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseReader.java
@@ -36,7 +36,7 @@ public class NoCloseReader extends FilterReader {
         // ignored
     }
     
-    public static final Reader resolveReader(Reader r, boolean okToClose) {
+    public static Reader resolveReader(Reader r, boolean okToClose) {
         if ((r == null) || okToClose) {
             return r;
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseWriter.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseWriter.java b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseWriter.java
index 1286fc2..a4e185f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseWriter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/io/NoCloseWriter.java
@@ -36,7 +36,7 @@ public class NoCloseWriter extends FilterWriter {
         // ignored
     }
     
-    public static final Writer resolveWriter(Writer r, boolean okToClose) {
+    public static Writer resolveWriter(Writer r, boolean okToClose) {
         if ((r == null) || okToClose) {
             return r;
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
index 9467ee5..4e9aae0 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/logging/LoggingUtils.java
@@ -60,7 +60,7 @@ public final class LoggingUtils {
      *      </LI>
      * </UL></P>
      */
-    public static final boolean isLoggable(Level level, Level threshold) {
+    public static boolean isLoggable(Level level, Level threshold) {
         if ((level == null) || (threshold == null)) {
             return false;
         } else if (Level.OFF.equals(level) || Level.OFF.equals(threshold)) {
@@ -74,7 +74,7 @@ public final class LoggingUtils {
         }
     }
 
-    public static final SimplifiedLog wrap(final Logger logger) {
+    public static SimplifiedLog wrap(final Logger logger) {
         if (logger == null) {
             return SimplifiedLog.EMPTY;
         } else {
@@ -96,7 +96,7 @@ public final class LoggingUtils {
     }
 
     // NOTE: assume that level enabled has been checked !!!
-    public static final void logMessage(Logger logger, Level level, Object message, Throwable t) {
+    public static void logMessage(Logger logger, Level level, Object message, Throwable t) {
         if ((logger == null) || (level == null) || Level.OFF.equals(level)) {
             return;
         } else if (Level.SEVERE.equals(level)) {
@@ -126,7 +126,7 @@ public final class LoggingUtils {
      *      <LI>All other levels return {@link Logger#isTraceEnabled()}</LI>
      * </UL>
      */
-    public static final boolean isLoggable(Logger logger, Level level) {
+    public static boolean isLoggable(Logger logger, Level level) {
         if ((logger == null) || (level == null) || Level.OFF.equals(level)) {
             return false;
         } else if (Level.SEVERE.equals(level)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
index 5b79870..a09e490 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/threads/ThreadUtils.java
@@ -68,7 +68,7 @@ public class ThreadUtils {
                         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                             String name = method.getName();
                             if ("isShutdown".equals(name)) {
-                                return Boolean.valueOf(stopped.get());
+                                return stopped.get();
                             } else if ("shutdown".equals(name)) {
                                 stopped.set(true);
                                 return null;    // void...

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/Environment.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/Environment.java b/sshd-core/src/main/java/org/apache/sshd/server/Environment.java
index 01d0b96..f834a99 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/Environment.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/Environment.java
@@ -33,24 +33,24 @@ public interface Environment {
     /**
      * Key for the user environment variable
      */
-    public static final String ENV_USER = "USER";
+    String ENV_USER = "USER";
     /**
      * Key for the lines environment variable. Specifies the number of
      * lines visible on the client side. {@link Environment#ENV_LINES} and
      * {@link Environment#ENV_COLUMNS} make up the console screen size.
      */
-    public static final String ENV_LINES = "LINES";
+    String ENV_LINES = "LINES";
     /**
      * Key for the columns environment variable. Specifies the number of
      * columns visible on the client side. {@link Environment#ENV_LINES} and
      * {@link Environment#ENV_COLUMNS} make up the console screen size.
      */
-    public static final String ENV_COLUMNS = "COLUMNS";
+    String ENV_COLUMNS = "COLUMNS";
     /**
      * Key for the term environment variable. Describes the terminal or
      * terminal emulation which is in use.
      */
-    public static final String ENV_TERM = "TERM";
+    String ENV_TERM = "TERM";
 
     /**
      * Retrieve the environment map

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/Signal.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/Signal.java b/sshd-core/src/main/java/org/apache/sshd/server/Signal.java
index 6c9bba6..bfcc406 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/Signal.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/Signal.java
@@ -83,7 +83,7 @@ public enum Signal {
 
     private final int numeric;
 
-    private Signal(int numeric) {
+    Signal(int numeric) {
         this.numeric = numeric;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
index 426bc08..9be7f81 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/CachingPublicKeyAuthenticator.java
@@ -51,11 +51,11 @@ public class CachingPublicKeyAuthenticator implements PublickeyAuthenticator, Se
         
         Boolean result = map.get(key);
         if (result == null) {
-            result = Boolean.valueOf(authenticator.authenticate(username, key, session));
+            result = authenticator.authenticate(username, key, session);
             map.put(key, result);
         }
 
-        return result.booleanValue();
+        return result;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthKeyboardInteractive.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthKeyboardInteractive.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthKeyboardInteractive.java
index 0396b35..d38df50 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthKeyboardInteractive.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthKeyboardInteractive.java
@@ -79,7 +79,7 @@ public class UserAuthKeyboardInteractive extends AbstractUserAuth {
                 throw new SshException("Expected 1 response from user but received " + num);
             }
             String password = buffer.getString();
-            return Boolean.valueOf(checkPassword(session, username, password));
+            return checkPassword(session, username, password);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
index 2f6bd4f..8f658da 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
@@ -46,7 +46,7 @@ public class UserAuthPassword extends AbstractUserAuth {
             throw new IllegalStateException("Password changes are not supported");
         }
         String password = buffer.getString();
-        return Boolean.valueOf(checkPassword(session, username, password));
+        return checkPassword(session, username, password);
     }
 
     protected boolean checkPassword(ServerSession session, String username, String password) throws Exception {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 9ff8867..d0e5bab 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
@@ -171,7 +171,7 @@ public class UserAuthGSS extends AbstractUserAuth {
                     session.writePacket(b);
                     return null;
                 } else {
-                    return Boolean.valueOf(established);
+                    return established;
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/auth/password/StaticPasswordAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/password/StaticPasswordAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/password/StaticPasswordAuthenticator.java
index 3d94108..1633187 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/password/StaticPasswordAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/password/StaticPasswordAuthenticator.java
@@ -39,7 +39,7 @@ public class StaticPasswordAuthenticator extends AbstractLoggingBean implements
     public final boolean authenticate(String username, String password, ServerSession session) {
         boolean accepted = isAccepted();
         if (log.isDebugEnabled()) {
-            log.debug("authenticate({}[{}]: {}", username, session, Boolean.valueOf(accepted));
+            log.debug("authenticate({}[{}]: {}", username, session, accepted);
         }
         
         return accepted;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/StaticPublickeyAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/StaticPublickeyAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/StaticPublickeyAuthenticator.java
index 041bdea..970aadb 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/StaticPublickeyAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/pubkey/StaticPublickeyAuthenticator.java
@@ -43,7 +43,7 @@ public abstract class StaticPublickeyAuthenticator extends AbstractLoggingBean i
         boolean accepted = isAccepted();
         if (log.isDebugEnabled()) {
             log.debug("authenticate({}[{}][{}][{}]: {}",
-                      username, session, key.getAlgorithm(), KeyUtils.getFingerPrint(key), Boolean.valueOf(accepted));
+                      username, session, key.getAlgorithm(), KeyUtils.getFingerPrint(key), accepted);
         }
 
         return accepted;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 c49c41f..60b61c0 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
@@ -306,50 +306,42 @@ public class ChannelSession extends AbstractServerChannel {
      * to generate it
      */
     public Boolean handleRequest(String type, Buffer buffer) throws IOException {
-        if ("env".equals(type)) {
-            return Boolean.valueOf(handleEnv(buffer));
-        }
-        if ("pty-req".equals(type)) {
-            return Boolean.valueOf(handlePtyReq(buffer));
-        }
-        if ("window-change".equals(type)) {
-            return Boolean.valueOf(handleWindowChange(buffer));
-        }
-        if ("signal".equals(type)) {
-            return Boolean.valueOf(handleSignal(buffer));
-        }
-        if ("break".equals(type)) {
-            return Boolean.valueOf(handleBreak(buffer));
-        }
-        if ("shell".equals(type)) {
-            if ((this.type == null) && handleShell(buffer)) {
-                this.type = type;
-                return Boolean.TRUE;
-            } else {
-                return Boolean.FALSE;
-            }
-        }
-        if ("exec".equals(type)) {
-            if ((this.type == null) && handleExec(buffer)) {
-                this.type = type;
-                return Boolean.TRUE;
-            } else {
-                return Boolean.FALSE;
-            }
-        }
-        if ("subsystem".equals(type)) {
-            if ((this.type == null) && handleSubsystem(buffer)) {
-                this.type = type;
-                return Boolean.TRUE;
-            } else {
-                return Boolean.FALSE;
-            }
-        }
-        if ("auth-agent-req@openssh.com".equals(type)) {
-            return Boolean.valueOf(handleAgentForwarding(buffer));
-        }
-        if ("x11-req".equals(type)) {
-            return Boolean.valueOf(handleX11Forwarding(buffer));
+        switch (type) {
+            case "env":
+                return handleEnv(buffer);
+            case "pty-req":
+                return handlePtyReq(buffer);
+            case "window-change":
+                return handleWindowChange(buffer);
+            case "signal":
+                return handleSignal(buffer);
+            case "break":
+                return handleBreak(buffer);
+            case "shell":
+                if ((this.type == null) && handleShell(buffer)) {
+                    this.type = type;
+                    return Boolean.TRUE;
+                } else {
+                    return Boolean.FALSE;
+                }
+            case "exec":
+                if ((this.type == null) && handleExec(buffer)) {
+                    this.type = type;
+                    return Boolean.TRUE;
+                } else {
+                    return Boolean.FALSE;
+                }
+            case "subsystem":
+                if ((this.type == null) && handleSubsystem(buffer)) {
+                    this.type = type;
+                    return Boolean.TRUE;
+                } else {
+                    return Boolean.FALSE;
+                }
+            case "auth-agent-req@openssh.com":
+                return handleAgentForwarding(buffer);
+            case "x11-req":
+                return handleX11Forwarding(buffer);
         }
         return null;
     }
@@ -359,7 +351,7 @@ public class ChannelSession extends AbstractServerChannel {
         String value = buffer.getString();
         addEnvVariable(name, value);
         if (log.isDebugEnabled()) {
-            log.debug("env for channel {}: {} = {}", Integer.valueOf(id), name, value);
+            log.debug("env for channel {}: {} = {}", id, name, value);
         }
         return true;
     }
@@ -388,14 +380,12 @@ public class ChannelSession extends AbstractServerChannel {
                        ((modes[i++] << 16) & 0x00ff0000) |
                        ((modes[i++] <<  8) & 0x0000ff00) |
                        ((modes[i++]) & 0x000000ff);
-            ptyModes.put(mode, Integer.valueOf(val));
+            ptyModes.put(mode, val);
         }
         if (log.isDebugEnabled()) {
             log.debug("pty for channel {}: term={}, size=({} - {}), pixels=({}, {}), modes=[{}]",
-                      Integer.valueOf(id), term, 
-                      Integer.valueOf(tColumns), Integer.valueOf(tRows),
-                      Integer.valueOf(tWidth), Integer.valueOf(tHeight),
-                      ptyModes);
+                    id, term, tColumns, tRows,
+                    tWidth, tHeight, ptyModes);
         }
 
         addEnvVariable(Environment.ENV_TERM, term);
@@ -411,9 +401,8 @@ public class ChannelSession extends AbstractServerChannel {
         int tHeight = buffer.getInt();
         if (log.isDebugEnabled()) {
             log.debug("window-change for channel {}: ({} - {}), ({}, {})",
-                      Integer.valueOf(id),
-                      Integer.valueOf(tColumns), Integer.valueOf(tRows),
-                      Integer.valueOf(tWidth), Integer.valueOf(tHeight));
+                    id, tColumns, tRows,
+                    tWidth, tHeight);
         }
 
         final StandardEnvironment e = getEnvironment();
@@ -426,7 +415,7 @@ public class ChannelSession extends AbstractServerChannel {
     protected boolean handleSignal(Buffer buffer) throws IOException {
         String name = buffer.getString();
         if (log.isDebugEnabled()) {
-            log.debug("Signal received on channel {}: {}", Integer.valueOf(id), name);
+            log.debug("Signal received on channel {}: {}", id, name);
         }
 
         final Signal signal = Signal.get(name);
@@ -441,7 +430,7 @@ public class ChannelSession extends AbstractServerChannel {
     protected boolean handleBreak(Buffer buffer) throws IOException {
         String name = buffer.getString();
         if (log.isDebugEnabled()) {
-            log.debug("Break received on channel {}: {}", Integer.valueOf(id), name);
+            log.debug("Break received on channel {}: {}", id, name);
         }
 
         getEnvironment().signal(Signal.INT);
@@ -685,7 +674,7 @@ public class ChannelSession extends AbstractServerChannel {
             if (r == null) {
                 return Result.Unsupported;
             } else {
-                return r.booleanValue() ? Result.ReplySuccess : Result.ReplyFailure;
+                return r ? Result.ReplySuccess : Result.ReplyFailure;
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
index f9c3fe7..e3660a1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommand.java
@@ -199,7 +199,7 @@ public class ScpCommand extends AbstractLoggingBean implements Command, Runnable
         if ((executors != null) && (!executors.isShutdown()) && shutdownExecutor) {
             Collection<Runnable> runners = executors.shutdownNow();
             if (log.isDebugEnabled()) {
-                log.debug("destroy() - shutdown executor service - runners count=" + ((runners == null) ? 0 : runners.size()));
+                log.debug("destroy() - shutdown executor service - runners count=" + runners.size());
             }
         }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommandFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommandFactory.java b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommandFactory.java
index 92ba0d5..6f30a17 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommandFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/command/ScpCommandFactory.java
@@ -218,7 +218,7 @@ public class ScpCommandFactory implements CommandFactory, Cloneable, ExecutorSer
      * @return configured {@link Command} instance
      * @throws IllegalArgumentException if not an SCP command and no
      *         delegate command factory is available
-     * @see #SCP_COMMAND_PREFIX
+     * @see ScpHelper#SCP_COMMAND_PREFIX
      */
     @Override
     public Command createCommand(String command) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
index 37486b5..846c428 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/config/keys/AuthorizedKeyEntry.java
@@ -132,7 +132,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
                 ;
     }
     
-    public static final PublickeyAuthenticator fromAuthorizedEntries(Collection<? extends AuthorizedKeyEntry> entries) throws IOException, GeneralSecurityException  {
+    public static PublickeyAuthenticator fromAuthorizedEntries(Collection<? extends AuthorizedKeyEntry> entries) throws IOException, GeneralSecurityException  {
         Collection<PublicKey> keys = resolveAuthorizedKeys(entries); 
         if (GenericUtils.isEmpty(keys)) {
             return RejectAllPublickeyAuthenticator.INSTANCE;
@@ -141,7 +141,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
         }
     }
     
-    public static final List<PublicKey> resolveAuthorizedKeys(Collection<? extends AuthorizedKeyEntry> entries) throws IOException, GeneralSecurityException  {
+    public static List<PublicKey> resolveAuthorizedKeys(Collection<? extends AuthorizedKeyEntry> entries) throws IOException, GeneralSecurityException  {
         if (GenericUtils.isEmpty(entries)) {
             return Collections.emptyList();
         }
@@ -167,7 +167,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @return The default {@link File} location of the OpenSSH authorized keys file
      */
     @SuppressWarnings("synthetic-access")
-    public static final File getDefaultAuthorizedKeysFile() {
+    public static File getDefaultAuthorizedKeysFile() {
         return LazyDefaultAuthorizedKeysFileHolder.keysFile;
     }
     /**
@@ -176,7 +176,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * or empty if file does not exist
      * @throws IOException If failed to read keys from file
      */
-    public static final Collection<AuthorizedKeyEntry> readDefaultAuthorizedKeys() throws IOException {
+    public static Collection<AuthorizedKeyEntry> readDefaultAuthorizedKeys() throws IOException {
         File    keysFile=getDefaultAuthorizedKeysFile();
         if (keysFile.exists()) {
             return readAuthorizedKeys(keysFile);
@@ -192,7 +192,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #readAuthorizedKeys(InputStream, boolean)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(URL url) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(URL url) throws IOException {
         return readAuthorizedKeys(url.openStream(), true);
     }
 
@@ -203,7 +203,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #readAuthorizedKeys(InputStream, boolean)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(File file) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(File file) throws IOException {
         return readAuthorizedKeys(new FileInputStream(file), true);
     }
 
@@ -217,7 +217,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @see #readAuthorizedKeys(InputStream, boolean)
      * @see Files#newInputStream(Path, OpenOption...)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(Path path, OpenOption ... options) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(Path path, OpenOption ... options) throws IOException {
         return readAuthorizedKeys(Files.newInputStream(path, options), true);
     }
 
@@ -228,7 +228,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #readAuthorizedKeys(InputStream, boolean)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(String filePath) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(String filePath) throws IOException {
         return readAuthorizedKeys(new FileInputStream(filePath), true);
     }
 
@@ -241,7 +241,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #readAuthorizedKeys(Reader, boolean)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(InputStream in, boolean okToClose) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(InputStream in, boolean okToClose) throws IOException {
         try(Reader  rdr=new InputStreamReader(NoCloseInputStream.resolveInputStream(in, okToClose), StandardCharsets.UTF_8)) {
             return readAuthorizedKeys(rdr, true);
         }
@@ -256,7 +256,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #readAuthorizedKeys(BufferedReader)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(Reader rdr, boolean okToClose) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(Reader rdr, boolean okToClose) throws IOException {
         try(BufferedReader  buf=new BufferedReader(NoCloseReader.resolveReader(rdr, okToClose))) {
             return readAuthorizedKeys(buf);
         }
@@ -269,7 +269,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IOException If failed to read or parse the entries
      * @see #parseAuthorizedKeyEntry(String)
      */
-    public static final Collection<AuthorizedKeyEntry> readAuthorizedKeys(BufferedReader rdr) throws IOException {
+    public static Collection<AuthorizedKeyEntry> readAuthorizedKeys(BufferedReader rdr) throws IOException {
         Collection<AuthorizedKeyEntry>  entries=null;
 
         for (String line=rdr.readLine(); line != null; line=rdr.readLine()) {
@@ -303,7 +303,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
      * @throws IllegalArgumentException If failed to parse/decode the line
      * @see #COMMENT_CHAR
      */
-    public static final AuthorizedKeyEntry parseAuthorizedKeyEntry(String line) throws IllegalArgumentException {
+    public static AuthorizedKeyEntry parseAuthorizedKeyEntry(String line) throws IllegalArgumentException {
         if (GenericUtils.isEmpty(line) || (line.charAt(0) == COMMENT_CHAR) /* comment ? */) {
             return null;
         }
@@ -337,7 +337,7 @@ public class AuthorizedKeyEntry extends PublicKeyEntry {
         return entry;
     }
     
-    public static final Map<String,String> parseLoginOptions(String options) {
+    public static Map<String,String> parseLoginOptions(String options) {
         // TODO add support if quoted values contain ','
         String[]    pairs=GenericUtils.split(options, ',');
         if (GenericUtils.isEmpty(pairs)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
index 4570bdb..8e6f8b4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/forward/ForwardingFilter.java
@@ -103,7 +103,7 @@ public interface ForwardingFilter {
          * @see #fromName(String)
          * @see #fromEnumName(String)
          */
-        public static final Type fromString(String name) {
+        public static Type fromString(String name) {
             if (GenericUtils.isEmpty(name)) {
                 return null;
             }
@@ -121,7 +121,7 @@ public interface ForwardingFilter {
          * @return The matching {@link Type} value - case <U>insensitive</U>,
          * or {@code null} if no match found
          */
-        public static final Type fromName(String name) {
+        public static Type fromName(String name) {
             return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
         }
         
@@ -130,7 +130,7 @@ public interface ForwardingFilter {
          * @return The matching {@link Type} value - case <U>insensitive</U>,
          * or {@code null} if no match found
          */
-        public static final Type fromEnumName(String name) {
+        public static Type fromEnumName(String name) {
             if (GenericUtils.isEmpty(name)) {
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 bca3f0d..2afc135 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
@@ -112,7 +112,7 @@ public class TcpipServerChannel extends AbstractServerChannel {
         int originatorPort = buffer.getInt();
         if (log.isDebugEnabled()) {
             log.debug("Receiving request for direct tcpip: hostToConnect={}, portToConnect={}, originatorIpAddress={}, originatorPort={}",
-                      hostToConnect, Integer.valueOf(portToConnect), originatorIpAddress, Integer.valueOf(originatorPort));
+                      hostToConnect, portToConnect, originatorIpAddress, originatorPort);
         }
 
         final SshdSocketAddress address;
@@ -226,7 +226,7 @@ public class TcpipServerChannel extends AbstractServerChannel {
                         if ((executors != null) && (!executors.isShutdown()) && shutdown) {
                             Collection<Runnable> runners = executors.shutdownNow();
                             if (log.isDebugEnabled()) {
-                                log.debug("destroy() - shutdown executor service - runners count=" + ((runners == null) ? 0 : runners.size()));
+                                log.debug("destroy() - shutdown executor service - runners count=" + runners.size());
                             }
                         }
                     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java b/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
index afcee62..b3a21ff 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/jaas/JaasPasswordAuthenticator.java
@@ -68,13 +68,13 @@ public class JaasPasswordAuthenticator extends AbstractLoggingBean implements Pa
             LoginContext loginContext = new LoginContext(domain, subject, new CallbackHandler() {
                 @Override
                 public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                    for (int i = 0; i < callbacks.length; i++) {
-                        if (callbacks[i] instanceof NameCallback) {
-                            ((NameCallback) callbacks[i]).setName(username);
-                        } else if (callbacks[i] instanceof PasswordCallback) {
-                            ((PasswordCallback) callbacks[i]).setPassword(password.toCharArray());
+                    for (Callback callback : callbacks) {
+                        if (callback instanceof NameCallback) {
+                            ((NameCallback) callback).setName(username);
+                        } else if (callback instanceof PasswordCallback) {
+                            ((PasswordCallback) callback).setPassword(password.toCharArray());
                         } else {
-                            throw new UnsupportedCallbackException(callbacks[i]);
+                            throw new UnsupportedCallbackException(callback);
                         }
                     }
                 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 0b7076b..52324ca 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
@@ -41,12 +41,12 @@ public abstract class AbstractDHServerKeyExchange extends AbstractDHKeyExchange
     @Override
     public void init(AbstractSession s, byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C) throws Exception {
         super.init(s, V_S, V_C, I_S, I_C);
-        ValidateUtils.checkTrue(s instanceof ServerSession, "Using a server side KeyExchange on a client", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(s instanceof ServerSession, "Using a server side KeyExchange on a client");
         session = (ServerSession) s;
     }
 
     @Override
     public PublicKey getServerKey() {
-        return ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available", GenericUtils.EMPTY_OBJECT_ARRAY).getPublic();
+        return ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available").getPublic();
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
index f51f2ec..c9e59da 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/Moduli.java
@@ -44,8 +44,7 @@ public class Moduli {
 
     public static List<DhGroup> parseModuli(URL url) throws IOException {
         List<DhGroup> groups = new ArrayList<DhGroup>();
-        BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream()));
-        try {
+        try (BufferedReader r = new BufferedReader(new InputStreamReader(url.openStream()))) {
             String line;
             while ((line = r.readLine()) != null) {
                 line = line.trim();
@@ -79,8 +78,6 @@ public class Moduli {
                 groups.add(group);
             }
             return groups;
-        } finally {
-            r.close();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
index c29663f..50b2eb6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
@@ -168,7 +168,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
         if (authed == null) {
             // authentication is still ongoing
             log.debug("Authentication not finished");
-        } else if (authed.booleanValue()) {
+        } else if (authed) {
             log.debug("Authentication succeeded");
             String username = currentAuth.getUserName();
 
@@ -185,7 +185,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
                 Integer maxSessionCount = FactoryManagerUtils.getInteger(manager, ServerFactoryManager.MAX_CONCURRENT_SESSIONS);
                 if (maxSessionCount != null) {
                     int currentSessionCount = session.getActiveSessionCountForUser(username);
-                    if (currentSessionCount >= maxSessionCount.intValue()) {
+                    if (currentSessionCount >= maxSessionCount) {
                         session.disconnect(SshConstants.SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE,
                                 "Too many concurrent connections (" + currentSessionCount + ") - max. allowed: " + maxSessionCount);
                         return;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
index b62e0e1..39b6284 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
@@ -627,7 +627,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         int id = buffer.getInt();
         if (log.isDebugEnabled()) {
             log.debug("process(length={}, type={}, id={})",
-                      Integer.valueOf(length), Integer.valueOf(type), Integer.valueOf(id));
+                    length, type, id);
         }
 
         switch (type) {
@@ -777,13 +777,13 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Path abs = file.toAbsolutePath();
         Path nrm = abs.normalize();
         if (log.isDebugEnabled()) {
-            log.debug("doSpaceAvailable(id={}) path={}[{}]", Integer.valueOf(id), path, nrm);
+            log.debug("doSpaceAvailable(id={}) path={}[{}]", id, path, nrm);
         }
 
         FileStore store = Files.getFileStore(nrm);
         if (log.isTraceEnabled()) {
             log.trace("doSpaceAvailable(id={}) path={}[{}] - {}[{}]",
-                      Integer.valueOf(id), path, nrm, store.name(), store.type());
+                    id, path, nrm, store.name(), store.type());
         }
         
         return new SpaceAvailableExtensionInfo(store);
@@ -989,7 +989,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                     byte[] hashValue = digest.digest(); // NOTE: this also resets the hash for the next read
                     if (log.isTraceEnabled()) {
                         log.trace("doCheckFileHash({})[{}] offset={}, length={} - hash={}",
-                                  file, Integer.valueOf(count), Long.valueOf(startOffset), Long.valueOf(length),
+                                  file, count, startOffset, length,
                                   BufferUtils.printHex(':', hashValue));
                     }
                     buffer.putBytes(hashValue);
@@ -1008,7 +1008,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             hashValue = doMD5Hash(id, targetType, target, startOffset, length, quickCheckHash);
             if (log.isTraceEnabled()) {
                 log.debug("doMD5Hash({})[{}] offset={}, length={}, quick-hash={} - hash={}",
-                          targetType, target, Long.valueOf(startOffset), Long.valueOf(length), BufferUtils.printHex(':', quickCheckHash),
+                          targetType, target, startOffset, length, BufferUtils.printHex(':', quickCheckHash),
                           BufferUtils.printHex(':', hashValue));
             }
 
@@ -1028,7 +1028,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
     protected byte[] doMD5Hash(int id, String targetType, String target, long startOffset, long length, byte[] quickCheckHash) throws Exception {
         if (log.isDebugEnabled()) {
             log.debug("doMD5Hash({})[{}] offset={}, length={}, quick-hash={}",
-                      targetType, target, Long.valueOf(startOffset), Long.valueOf(length), BufferUtils.printHex(':', quickCheckHash));
+                      targetType, target, startOffset, length, BufferUtils.printHex(':', quickCheckHash));
         }
 
         Path path;
@@ -1127,7 +1127,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 } else {
                     if (log.isTraceEnabled()) {
                         log.trace("doMD5Hash({}) offset={}, length={} - quick-hash mismatched expected={}, actual={}",
-                                  path, Long.valueOf(startOffset), Long.valueOf(length),
+                                  path, startOffset, length,
                                   BufferUtils.printHex(':', quickCheckHash), BufferUtils.printHex(':', hashValue));
                     }
                 }
@@ -1160,7 +1160,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
 
         if (log.isTraceEnabled()) {
             log.trace("doMD5Hash({}) offset={}, length={} - matches={}, quick={} hash={}",
-                      path, Long.valueOf(startOffset), Long.valueOf(length), Boolean.valueOf(hashMatches),
+                      path, startOffset, length, hashMatches,
                       BufferUtils.printHex(':', quickCheckHash), BufferUtils.printHex(':', hashValue));
         }
 
@@ -1187,7 +1187,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         if (result == null) {   // response sent internally
             session.close(true);
             return;
-        } if (result.booleanValue()) {
+        } if (result) {
             version = Integer.parseInt(proposed);
             sendStatus(BufferUtils.clear(buffer), id, SSH_FX_OK, "");
         } else {
@@ -1249,17 +1249,17 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         // check if user wants to use a specific version
         Integer sftpVersion = FactoryManagerUtils.getInteger(session, SFTP_VERSION);
         if (sftpVersion != null) {
-            int forcedValue = sftpVersion.intValue();
+            int forcedValue = sftpVersion;
             if ((forcedValue < LOWER_SFTP_IMPL) || (forcedValue > HIGHER_SFTP_IMPL)) {
                 throw new IllegalStateException("Forced SFTP version (" + sftpVersion + ") not within supported values: " + available);
             }
-            low = hig = sftpVersion.intValue();
+            low = hig = sftpVersion;
             available = sftpVersion.toString();
         }
 
         if (log.isTraceEnabled()) {
             log.trace("checkVersionCompatibility(id={}) - proposed={}, available={}",
-                      Integer.valueOf(id), Integer.valueOf(proposed), available);
+                    id, proposed, available);
         }
 
         if ((proposed < low) || (proposed > hig)) {
@@ -1290,7 +1290,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Handle p = handles.get(handle);
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_FXP_BLOCK (handle={}[{}], offset={}, length={}, mask=0x{})",
-                      handle, p, Long.valueOf(offset), Long.valueOf(length), Integer.toHexString(mask));
+                      handle, p, offset, length, Integer.toHexString(mask));
         }
         
         FileHandle fileHandle = validateHandle(handle, p, FileHandle.class);
@@ -1316,7 +1316,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Handle p = handles.get(handle);
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_FXP_UNBLOCK (handle={}[{}], offset={}, length={})",
-                      handle, p, Long.valueOf(offset), Long.valueOf(length));
+                      handle, p, offset, length);
         }
 
         FileHandle fileHandle = validateHandle(handle, p, FileHandle.class);
@@ -1341,7 +1341,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
     protected void doLink(int id, String targetPath, String linkPath, boolean symLink) throws IOException {
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_FXP_LINK (linkpath={}, targetpath={}, symlink={})",
-                      linkPath, targetPath, Boolean.valueOf(symLink));
+                      linkPath, targetPath, symLink);
         }
         
         Path link = resolveFile(linkPath);
@@ -1461,8 +1461,8 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         if (log.isDebugEnabled()) {
             log.debug("SSH_FXP_EXTENDED[{}] read={}[{}], read-offset={}, read-length={}, write={}[{}], write-offset={})",
                       SftpConstants.EXT_COPYDATA,
-                      readHandle, rh, Long.valueOf(readOffset), Long.valueOf(readLength),
-                      writeHandle, wh, Long.valueOf(writeOffset));
+                      readHandle, rh, readOffset, readLength,
+                      writeHandle, wh, writeOffset);
         }
 
         FileHandle srcHandle = validateHandle(readHandle, rh, FileHandle.class);
@@ -1545,7 +1545,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
     protected void doCopyFile(int id, String srcFile, String dstFile, boolean overwriteDestination) throws IOException {
         if (log.isDebugEnabled()) {
             log.debug("SSH_FXP_EXTENDED[{}] (src={}, dst={}, overwrite=0x{})",
-                      SftpConstants.EXT_COPYFILE, srcFile, dstFile, Boolean.valueOf(overwriteDestination));
+                      SftpConstants.EXT_COPYFILE, srcFile, dstFile, overwriteDestination);
         }
         
         doCopyFile(id, srcFile, dstFile,
@@ -1627,7 +1627,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 if (control == SSH_FXP_REALPATH_STAT_IF) {
                     if (status == null) {
                         attrs = handleUnknownStatusFileAttributes(p, SSH_FILEXFER_ATTR_ALL, options);
-                    } else if (status.booleanValue()) {
+                    } else if (status) {
                         try {
                             attrs = getAttributes(p, IoUtils.getLinkOptions(false));
                         } catch (IOException e) {
@@ -1644,7 +1644,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 } else if (control == SSH_FXP_REALPATH_STAT_ALWAYS) {
                     if (status == null) {
                         attrs = handleUnknownStatusFileAttributes(p, SSH_FILEXFER_ATTR_ALL, options);
-                    } else if (status.booleanValue()) {
+                    } else if (status) {
                         attrs = getAttributes(p, options);
                     } else {
                         throw new FileNotFoundException(p.toString());
@@ -1695,7 +1695,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Path abs = f.toAbsolutePath();
         Path p = abs.normalize();
         Boolean status = IoUtils.checkFileExists(p, options);
-        return new Pair<Path, Boolean>(p, status);
+        return new Pair<>(p, status);
     }
 
     protected void doRemoveDirectory(Buffer buffer, int id) throws IOException {
@@ -1744,7 +1744,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             throw new AccessDeniedException("Cannot validate make-directory existence for " + p);
         }
 
-        if (status.booleanValue()) {
+        if (status) {
             if (Files.isDirectory(p, options)) {
                 throw new FileAlreadyExistsException(p.toString(), p.toString(), "Target directory already exists");
             } else {
@@ -1778,7 +1778,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         if (status == null) {
             throw new AccessDeniedException("Cannot determine existence of remove candidate: " + p);
         }
-        if (!status.booleanValue()) {
+        if (!status) {
             throw new FileNotFoundException(p.toString());
         } else if (Files.isDirectory(p, options)) {
             throw new FileNotFoundException(p.toString() + " is as a folder");
@@ -1806,7 +1806,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 throw new AccessDeniedException("Cannot determine existence of read-dir for " + file);
             }
 
-            if (!status.booleanValue()) {
+            if (!status) {
                 throw new FileNotFoundException(file.toString());
             } else if (!Files.isDirectory(file, options)) {
                 throw new NotDirectoryException(file.toString());
@@ -1828,7 +1828,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 int count = doReadDir(id, dh, reply, FactoryManagerUtils.getIntProperty(session, MAX_PACKET_LENGTH_PROP, DEFAULT_MAX_PACKET_LENGTH));
                 BufferUtils.updateLengthPlaceholder(reply, lenPos, count);
                 if (log.isDebugEnabled()) {
-                    log.debug("doReadDir({})[{}] - sent {} entries", handle, h, Integer.valueOf(count));
+                    log.debug("doReadDir({})[{}] - sent {} entries", handle, h, count);
                 }
                 if ((!dh.isSendDot()) && (!dh.isSendDotDot()) && (!dh.hasNext())) {
                     // if no more files to send
@@ -1873,7 +1873,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             throw new AccessDeniedException("Cannot determine open-dir existence for " + p);
         }
 
-        if (!status.booleanValue()) {
+        if (!status) {
             throw new FileNotFoundException(path);
         } else if (!Files.isDirectory(p, options)) {
             throw new NotDirectoryException(path);
@@ -1999,7 +1999,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Handle h = handles.get(handle);
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_FXP_WRITE (handle={}[{}], offset={}, data=byte[{}])",
-                      handle, h, Long.valueOf(offset), Integer.valueOf(length));
+                      handle, h, offset, length);
         }
         
         FileHandle fh = validateHandle(handle, h, FileHandle.class);
@@ -2046,7 +2046,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Handle h = handles.get(handle);
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_FXP_READ (handle={}[{}], offset={}, length={})",
-                      handle, h, Long.valueOf(offset), Integer.valueOf(length));
+                      handle, h, offset, length);
         }
         ValidateUtils.checkTrue(length > 0, "Invalid read length: %d", length);
         FileHandle fh = validateHandle(handle, h, FileHandle.class);
@@ -2559,7 +2559,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
 
         Number length = (Number) attributes.get("size");
         if (length == null) {
-            length = Long.valueOf(0L);
+            length = 0L;
         }
         String lengthString = String.format("%1$8s", length);
 
@@ -2571,23 +2571,13 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             perms = EnumSet.noneOf(PosixFilePermission.class);
         }
 
-        StringBuilder sb = new StringBuilder();
-        sb.append((isDirectory != null && isDirectory.booleanValue()) ? "d" : (isLink != null && isLink.booleanValue()) ? "l" : "-");
-        sb.append(PosixFilePermissions.toString(perms));
-        sb.append("  ");
-        sb.append(attributes.containsKey("nlink") ? attributes.get("nlink") : "1");
-        sb.append(" ");
-        sb.append(username);
-        sb.append(" ");
-        sb.append(group);
-        sb.append(" ");
-        sb.append(lengthString);
-        sb.append(" ");
-        sb.append(getUnixDate((FileTime) attributes.get("lastModifiedTime")));
-        sb.append(" ");
-        sb.append(getShortName(f));
-
-        return sb.toString();
+        return (getBool(isDirectory) ? "d" :
+                (getBool(isLink) ? "l" : "-"))
+                    + PosixFilePermissions.toString(perms) + "  "
+                    + (attributes.containsKey("nlink") ? attributes.get("nlink") : "1")
+                    + " " + username + " " + group + " " + lengthString + " "
+                    + getUnixDate((FileTime) attributes.get("lastModifiedTime"))
+                    + " " + getShortName(f);
     }
 
     protected String getShortName(Path f) throws IOException {
@@ -2663,7 +2653,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Boolean status = IoUtils.checkFileExists(file, options);
         if (status == null) {
             return handleUnknownStatusFileAttributes(file, flags, options);
-        } else if (!status.booleanValue()) {
+        } else if (!status) {
             throw new FileNotFoundException(file.toString());
         } else {
             return getAttributes(file, flags, options);
@@ -2751,7 +2741,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
     }
 
     protected boolean getBool(Boolean bool) {
-        return (bool != null) && bool.booleanValue();
+        return bool != null && bool;
     }
 
     protected Map<String, Object> getAttributes(Path file, LinkOption ... options) throws IOException {
@@ -2783,7 +2773,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         Collection<String>  views;
 
         if (GenericUtils.isEmpty(supportedViews)) {
-            views = Collections.<String>emptyList();
+            views = Collections.emptyList();
         } else if (supportedViews.contains("unix")) {
             views = DEFAULT_UNIX_VIEW;
         } else {
@@ -3013,14 +3003,14 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             }
         }
         if ((flags & SSH_FILEXFER_ATTR_SIZE) != 0) {
-            attrs.put("size", Long.valueOf(buffer.getLong()));
+            attrs.put("size", buffer.getLong());
         }
         if ((flags & SSH_FILEXFER_ATTR_ALLOCATION_SIZE) != 0) {
-            attrs.put("allocationSize", Long.valueOf(buffer.getLong()));
+            attrs.put("allocationSize", buffer.getLong());
         }
         if ((flags & SSH_FILEXFER_ATTR_UIDGID) != 0) {
-            attrs.put("uid", Integer.valueOf(buffer.getInt()));
-            attrs.put("gid", Integer.valueOf(buffer.getInt()));
+            attrs.put("uid", buffer.getInt());
+            attrs.put("gid", buffer.getInt());
         }
         if ((flags & SSH_FILEXFER_ATTR_OWNERGROUP) != 0) {
             attrs.put("owner", new DefaultGroupPrincipal(buffer.getString()));
@@ -3260,7 +3250,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
     protected void sendStatus(Buffer buffer, int id, int substatus, String msg, String lang) throws IOException {
         if (log.isDebugEnabled()) {
             log.debug("Send SSH_FXP_STATUS (substatus={}, lang={}, msg={})",
-                      Integer.valueOf(substatus), lang, msg);
+                    substatus, lang, msg);
         }
 
         buffer.putByte((byte) SSH_FXP_STATUS);
@@ -3302,7 +3292,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             if ((executors != null) && (!executors.isShutdown()) && shutdownExecutor) {
                 Collection<Runnable> runners = executors.shutdownNow();
                 if (log.isDebugEnabled()) {
-                    log.debug("destroy() - shutdown executor service - runners count=" + ((runners == null) ? 0 : runners.size()));
+                    log.debug("destroy() - shutdown executor service - runners count=" + runners.size());
                 }
             }
 


[5/6] mina-sshd git commit: Remove boxing / unboxing, remove useless final modifiers, use try with resources, fix a few javadocs

Posted by gn...@apache.org.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 95641fa..8ff7f36 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
@@ -145,35 +145,35 @@ public class SshConfigFileReader {
         public static final SyslogFacilityValue DEFAULT_SYSLOG_FACILITY=SyslogFacilityValue.AUTH;
     public static final String  SUBSYSTEM_CONFIG_PROP="Subsystem";
 
-    public static final Properties readConfigFile(File file) throws IOException {
+    public static Properties readConfigFile(File file) throws IOException {
         return readConfigFile(file.toPath(), IoUtils.EMPTY_OPEN_OPTIONS);
     }
 
-    public static final Properties readConfigFile(Path path, OpenOption ... options) throws IOException {
+    public static Properties readConfigFile(Path path, OpenOption ... options) throws IOException {
         try(InputStream input = Files.newInputStream(path, options)) {
             return readConfigFile(input, true);
         }
     }
 
-    public static final Properties readConfigFile(URL url) throws IOException {
+    public static Properties readConfigFile(URL url) throws IOException {
         try(InputStream input=url.openStream()) {
             return readConfigFile(input, true);
         }
     }
 
-    public static final Properties readConfigFile(String path) throws IOException {
+    public static Properties readConfigFile(String path) throws IOException {
         try(InputStream input=new FileInputStream(path)) {
             return readConfigFile(input, true);
         }
     }
 
-    public static final Properties readConfigFile(InputStream input, boolean okToClose) throws IOException {
+    public static Properties readConfigFile(InputStream input, boolean okToClose) throws IOException {
         try(Reader      reader=new InputStreamReader(NoCloseInputStream.resolveInputStream(input, okToClose), StandardCharsets.UTF_8)) {
             return readConfigFile(reader, true);
         }
     }
 
-    public static final Properties readConfigFile(Reader reader, boolean okToClose) throws IOException {
+    public static Properties readConfigFile(Reader reader, boolean okToClose) throws IOException {
         try(BufferedReader  buf=new BufferedReader(NoCloseReader.resolveReader(reader, okToClose))) {
             return readConfigFile(buf);
         }
@@ -188,7 +188,7 @@ public class SshConfigFileReader {
      * @return The read properties
      * @throws IOException If failed to read or malformed content
      */
-    public static final Properties readConfigFile(BufferedReader rdr) throws IOException {
+    public static Properties readConfigFile(BufferedReader rdr) throws IOException {
         Properties  props=new Properties();
         int         lineNumber=1;
         for (String line=rdr.readLine(); line != null; line=rdr.readLine(), lineNumber++) {
@@ -241,7 +241,7 @@ public class SshConfigFileReader {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final long getLongProperty(Properties props, String name, long defaultValue) {
+    public static long getLongProperty(Properties props, String name, long defaultValue) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return defaultValue;
@@ -257,7 +257,7 @@ public class SshConfigFileReader {
      * empty string
      * @throws NumberFormatException if malformed value
      */
-    public static final Long getLong(Properties props, String name) {
+    public static Long getLong(Properties props, String name) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return null;
@@ -274,7 +274,7 @@ public class SshConfigFileReader {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final int getIntProperty(Properties props, String name, int defaultValue) {
+    public static int getIntProperty(Properties props, String name, int defaultValue) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return defaultValue;
@@ -290,7 +290,7 @@ public class SshConfigFileReader {
      * empty string
      * @throws NumberFormatException if malformed value
      */
-    public static final Integer getInteger(Properties props, String name) {
+    public static Integer getInteger(Properties props, String name) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return null;
@@ -307,7 +307,7 @@ public class SshConfigFileReader {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final boolean getBooleanProperty(Properties props, String name, boolean defaultValue) {
+    public static boolean getBooleanProperty(Properties props, String name, boolean defaultValue) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return defaultValue;
@@ -323,12 +323,12 @@ public class SshConfigFileReader {
      * empty string
      * @throws NumberFormatException if malformed value
      */
-    public static final Boolean getBoolean(Properties props, String name) {
+    public static Boolean getBoolean(Properties props, String name) {
         String value = (props == null) ? null : props.getProperty(name);
         if (GenericUtils.isEmpty(value)) {
             return null;
         } else {
-            return Boolean.valueOf(parseBooleanValue(value));
+            return parseBooleanValue(value);
         }
     }
 
@@ -339,7 +339,7 @@ public class SshConfigFileReader {
      * input string 
      * @return The result
      */
-    public static final boolean parseBooleanValue(String v, boolean defaultValue) {
+    public static boolean parseBooleanValue(String v, boolean defaultValue) {
         if (GenericUtils.isEmpty(v)) {
             return defaultValue;
         } else {
@@ -353,7 +353,7 @@ public class SshConfigFileReader {
      * @return The result - <B>Note:</B> {@code null}/empty values are
      * intrepreted as {@code false}
      */
-    public static final boolean parseBooleanValue(String v) {
+    public static boolean parseBooleanValue(String v) {
         if ("yes".equalsIgnoreCase(v)
           || "y".equalsIgnoreCase(v)
           || "on".equalsIgnoreCase(v)
@@ -366,7 +366,7 @@ public class SshConfigFileReader {
     
     /**
      * @param props The {@link Properties} - ignored if {@code null}/empty
-     * @return A {@BuiltinCiphers.ParseResult} of all the {@link NamedFactory}-ies
+     * @return A {@link BuiltinCiphers.ParseResult} of all the {@link NamedFactory}-ies
      * whose name appears in the string and represent a built-in cipher.
      * Any unknown name is <U>ignored</U>. The order of the returned result
      * is the same as the original order - bar the unknown ciphers.
@@ -375,7 +375,7 @@ public class SshConfigFileReader {
      * @see #CIPHERS_CONFIG_PROP
      * @see BuiltinCiphers#parseCiphersList(String)
      */
-    public static final BuiltinCiphers.ParseResult getCiphers(Properties props) {
+    public static BuiltinCiphers.ParseResult getCiphers(Properties props) {
         return BuiltinCiphers.parseCiphersList((props == null) ? null : props.getProperty(CIPHERS_CONFIG_PROP));
     }
     
@@ -390,7 +390,7 @@ public class SshConfigFileReader {
      * @see #MACS_CONFIG_PROP
      * @see BuiltinMacs#parseMacsList(String)
      */
-    public static final BuiltinMacs.ParseResult getMacs(Properties props) {
+    public static BuiltinMacs.ParseResult getMacs(Properties props) {
         return BuiltinMacs.parseMacsList((props == null) ? null : props.getProperty(MACS_CONFIG_PROP));
     }
     
@@ -404,7 +404,7 @@ public class SshConfigFileReader {
      * @see #HOST_KEY_ALGORITHMS_CONFIG_PROP
      * @see BuiltinSignatures#parseSignatureList(String)
      */
-    public static final BuiltinSignatures.ParseResult getSignatures(Properties props) {
+    public static BuiltinSignatures.ParseResult getSignatures(Properties props) {
         return BuiltinSignatures.parseSignatureList((props == null) ? null : props.getProperty(HOST_KEY_ALGORITHMS_CONFIG_PROP));
     }
     
@@ -418,7 +418,7 @@ public class SshConfigFileReader {
      * @see #KEX_ALGORITHMS_CONFIG_PROP
      * @see BuiltinDHFactories#parseDHFactoriesList(String)
      */
-    public static final BuiltinDHFactories.ParseResult getKexFactories(Properties props) {
+    public static BuiltinDHFactories.ParseResult getKexFactories(Properties props) {
         return BuiltinDHFactories.parseDHFactoriesList((props == null) ? null : props.getProperty(KEX_ALGORITHMS_CONFIG_PROP));
     }
     
@@ -427,17 +427,17 @@ public class SshConfigFileReader {
      * @return The matching {@link NamedFactory} for the configured value.
      * {@code null} if no configuration or unknown name specified 
      */
-    public static final CompressionFactory getCompression(Properties props) {
+    public static CompressionFactory getCompression(Properties props) {
         return CompressionConfigValue.fromName((props == null) ? null : props.getProperty(COMPRESSION_PROP));
     }
     
-    public static final <S extends SshServer> S configure(S server, Properties props, boolean lenient, boolean ignoreUnsupported) {
+    public static <S extends SshServer> S configure(S server, Properties props, boolean lenient, boolean ignoreUnsupported) {
         configure((AbstractFactoryManager) server, props, lenient, ignoreUnsupported);
         configureKeyExchanges(server, props, lenient, ServerBuilder.DH2KEX, ignoreUnsupported);
         return server;
     }
 
-    public static final <C extends SshClient> C configure(C client, Properties props, boolean lenient, boolean ignoreUnsupported) {
+    public static <C extends SshClient> C configure(C client, Properties props, boolean lenient, boolean ignoreUnsupported) {
         configure((AbstractFactoryManager) client, props, lenient, ignoreUnsupported);
         configureKeyExchanges(client, props, lenient, ClientBuilder.DH2KEX, ignoreUnsupported);
         return client;
@@ -463,7 +463,7 @@ public class SshConfigFileReader {
      * or unsupported values there is an empty configuration exception is thrown
      * @return The configured manager
      */
-    public static final <M extends AbstractFactoryManager> M configure(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
+    public static <M extends AbstractFactoryManager> M configure(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
         configureCiphers(manager, props, lenient, ignoreUnsupported);
         configureSignatures(manager, props, lenient, ignoreUnsupported);
         configureMacs(manager, props, lenient, ignoreUnsupported);
@@ -472,13 +472,13 @@ public class SshConfigFileReader {
         return manager;
     }
 
-    public static final <M extends AbstractFactoryManager> M configureCiphers(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureCiphers(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(props, "No properties to configure");
         return configureCiphers(manager, props.getProperty(CIPHERS_CONFIG_PROP, DEFAULT_CIPHERS), lenient, ignoreUnsupported);
     }
 
-    public static final <M extends AbstractFactoryManager> M configureCiphers(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureCiphers(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(manager, "No manager to configure");
 
         BuiltinCiphers.ParseResult  result=BuiltinCiphers.parseCiphersList(value);
         Collection<String>          unsupported=result.getUnsupportedFactories();
@@ -490,13 +490,13 @@ public class SshConfigFileReader {
         return manager;
     }
 
-    public static final <M extends AbstractFactoryManager> M configureSignatures(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureSignatures(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(props, "No properties to configure");
         return configureSignatures(manager, props.getProperty(HOST_KEY_ALGORITHMS_CONFIG_PROP, DEFAULT_HOST_KEY_ALGORITHMS), lenient, ignoreUnsupported);
     }
 
-    public static final <M extends AbstractFactoryManager> M configureSignatures(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureSignatures(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(manager, "No manager to configure");
 
         BuiltinSignatures.ParseResult   result=BuiltinSignatures.parseSignatureList(value);
         Collection<String>              unsupported=result.getUnsupportedFactories();
@@ -508,13 +508,13 @@ public class SshConfigFileReader {
         return manager;
     }
     
-    public static final <M extends AbstractFactoryManager> M configureMacs(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(props, "No properties to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureMacs(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(props, "No properties to configure");
         return configureMacs(manager, props.getProperty(MACS_CONFIG_PROP, DEFAULT_MACS), lenient, ignoreUnsupported);
     }
 
-    public static final <M extends AbstractFactoryManager> M configureMacs(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureMacs(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(manager, "No manager to configure");
 
         BuiltinMacs.ParseResult result=BuiltinMacs.parseMacsList(value);
         Collection<String>      unsupported=result.getUnsupportedFactories();
@@ -540,16 +540,16 @@ public class SshConfigFileReader {
      * @see #KEX_ALGORITHMS_CONFIG_PROP
      * @see #DEFAULT_KEX_ALGORITHMS
      */
-    public static final <M extends AbstractFactoryManager> M configureKeyExchanges(
+    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", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(props, "No properties to configure");
         return configureKeyExchanges(manager, props.getProperty(KEX_ALGORITHMS_CONFIG_PROP, DEFAULT_KEX_ALGORITHMS), lenient, xformer, ignoreUnsupported);
     }
 
-    public static final <M extends AbstractFactoryManager> M configureKeyExchanges(
+    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", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(xformer, "No DHFactory transformer", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(manager, "No manager to configure");
+        ValidateUtils.checkNotNull(xformer, "No DHFactory transformer");
 
         BuiltinDHFactories.ParseResult  result=BuiltinDHFactories.parseDHFactoriesList(value);
         Collection<String>              unsupported=result.getUnsupportedFactories();
@@ -572,9 +572,9 @@ public class SshConfigFileReader {
      * @return The configured manager - <B>Note:</B> if the result of filtering due
      * to lenient mode or ignored unsupported value is empty then no factories are set
      */
-    public static final <M extends AbstractFactoryManager> M configureCompression(M manager, Properties props, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(props, "No properties to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    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");
         
         String               value=props.getProperty(COMPRESSION_PROP, DEFAULT_COMPRESSION);
         CompressionFactory   factory=CompressionConfigValue.fromName(value);
@@ -587,8 +587,8 @@ public class SshConfigFileReader {
     }
 
     // accepts BOTH CompressionConfigValue(s) and/or BuiltinCompressions - including extensions
-    public static final <M extends AbstractFactoryManager> M configureCompression(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
-        ValidateUtils.checkNotNull(manager, "No manager to configure", GenericUtils.EMPTY_OBJECT_ARRAY);
+    public static <M extends AbstractFactoryManager> M configureCompression(M manager, String value, boolean lenient, boolean ignoreUnsupported) {
+        ValidateUtils.checkNotNull(manager, "No manager to configure");
 
         CompressionFactory   factory=CompressionConfigValue.fromName(value);
         if (factory != null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/SyslogFacilityValue.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/SyslogFacilityValue.java b/sshd-core/src/main/java/org/apache/sshd/common/config/SyslogFacilityValue.java
index 7ae4b36..680ef61 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/SyslogFacilityValue.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/SyslogFacilityValue.java
@@ -34,7 +34,8 @@ public enum SyslogFacilityValue {
 
     public static final Set<SyslogFacilityValue> VALUES=
             Collections.unmodifiableSet(EnumSet.allOf(SyslogFacilityValue.class));
-    public static final SyslogFacilityValue fromName(String n) {
+
+    public static SyslogFacilityValue fromName(String n) {
         if (GenericUtils.isEmpty(n)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/TimeValueConfig.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/TimeValueConfig.java b/sshd-core/src/main/java/org/apache/sshd/common/config/TimeValueConfig.java
index 6430325..41875cd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/TimeValueConfig.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/TimeValueConfig.java
@@ -61,7 +61,8 @@ public enum TimeValueConfig {
 
     public static final Set<TimeValueConfig> VALUES=
             Collections.unmodifiableSet(EnumSet.allOf(TimeValueConfig.class));
-    public static final TimeValueConfig fromValueChar(char ch) {
+
+    public static TimeValueConfig fromValueChar(char ch) {
         if ((ch <= ' ') || (ch >= 0x7F)) {
             return null;
         }
@@ -81,7 +82,7 @@ public enum TimeValueConfig {
      * @see #parse(String)
      * @see #durationOf(Map)
      */
-    public static final long durationOf(String s) {
+    public static long durationOf(String s) {
         Map<TimeValueConfig,Long>   spec=parse(s);
         return durationOf(spec);
     }
@@ -93,7 +94,7 @@ public enum TimeValueConfig {
      * @throws NumberFormatException If bad numbers found - e.g., negative counts
      * @throws IllegalArgumentException If bad format - e.g., unknown unit
      */
-    public static final Map<TimeValueConfig,Long> parse(String s) throws NumberFormatException, IllegalArgumentException {
+    public static Map<TimeValueConfig,Long> parse(String s) throws NumberFormatException, IllegalArgumentException {
         if (GenericUtils.isEmpty(s)) {
             return Collections.emptyMap();
         }
@@ -116,8 +117,8 @@ public enum TimeValueConfig {
             }
 
             String  v=s.substring(lastPos, curPos);
-            Long    count=Long.valueOf(v);
-            if (count.longValue() < 0L) {
+            long    count=Long.parseLong(v);
+            if (count < 0L) {
                 throw new IllegalArgumentException("parse(" + s + ") negative count (" + v + ") for " + c.name());
             }
 
@@ -133,8 +134,8 @@ public enum TimeValueConfig {
 
         if (lastPos < s.length()) {
             String  v=s.substring(lastPos);
-            Long    count=Long.valueOf(v);
-            if (count.longValue() < 0L) {
+            long    count=Long.parseLong(v);
+            if (count < 0L) {
                 throw new IllegalArgumentException("parse(" + s + ") negative count (" + v + ") for last component");
             }
 
@@ -152,7 +153,7 @@ public enum TimeValueConfig {
      * @return The total duration in milliseconds
      * @throws IllegalArgumentException If negative count for a time unit
      */
-    public static final long durationOf(Map<TimeValueConfig,? extends Number> spec) throws IllegalArgumentException {
+    public static long durationOf(Map<TimeValueConfig,? extends Number> spec) throws IllegalArgumentException {
         if (GenericUtils.isEmpty(spec)) {
             return (-1L);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 8c701a7..555bcc9 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
@@ -52,9 +52,9 @@ public abstract class AbstractPublicKeyEntryDecoder<PUB extends PublicKey,PRV ex
     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", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.prvType = ValidateUtils.checkNotNull(prvType, "No private key type specified", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.names = ValidateUtils.checkNotNullAndNotEmpty(names, "No type names provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.pubType = ValidateUtils.checkNotNull(pubType, "No public key type specified");
+        this.prvType = ValidateUtils.checkNotNull(prvType, "No private key type specified");
+        this.names = ValidateUtils.checkNotNullAndNotEmpty(names, "No type names provided");
     }
 
     @Override
@@ -175,33 +175,33 @@ public abstract class AbstractPublicKeyEntryDecoder<PUB extends PublicKey,PRV ex
         return getPublicKeyType().getSimpleName() + ": " + getSupportedTypeNames();
     }
 
-    public static final int encodeString(OutputStream s, String v) throws IOException {
+    public static int encodeString(OutputStream s, String v) throws IOException {
         return encodeString(s, v, StandardCharsets.UTF_8);
     }
 
-    public static final int encodeString(OutputStream s, String v, String charset) throws IOException {
+    public static int encodeString(OutputStream s, String v, String charset) throws IOException {
         return encodeString(s, v, Charset.forName(charset));
     }
 
-    public static final int encodeString(OutputStream s, String v, Charset cs) throws IOException {
+    public static int encodeString(OutputStream s, String v, Charset cs) throws IOException {
         return writeRLEBytes(s, v.getBytes(cs));
     }
 
-    public static final int encodeBigInt(OutputStream s, BigInteger v) throws IOException {
+    public static int encodeBigInt(OutputStream s, BigInteger v) throws IOException {
         return writeRLEBytes(s, v.toByteArray());
     }
 
-    public static final int writeRLEBytes(OutputStream s, byte ... bytes) throws IOException {
+    public static int writeRLEBytes(OutputStream s, byte ... bytes) throws IOException {
         return writeRLEBytes(s, bytes, 0, bytes.length);
     }
 
-    public static final int writeRLEBytes(OutputStream s, byte[] bytes, int off, int len) throws IOException {
+    public static int writeRLEBytes(OutputStream s, byte[] bytes, int off, int len) throws IOException {
         byte[]  lenBytes=encodeInt(s, len);
         s.write(bytes, off, len);
         return lenBytes.length + len;
     }
 
-    public static final byte[] encodeInt(OutputStream s, int v) throws IOException {
+    public static byte[] encodeInt(OutputStream s, int v) throws IOException {
         byte[]  bytes={
                 (byte) ((v >> 24) & 0xFF),
                 (byte) ((v >> 16) & 0xFF),
@@ -212,31 +212,31 @@ public abstract class AbstractPublicKeyEntryDecoder<PUB extends PublicKey,PRV ex
         return bytes;
     }
 
-    public static final String decodeString(InputStream s) throws IOException {
+    public static String decodeString(InputStream s) throws IOException {
         return decodeString(s, StandardCharsets.UTF_8);
     }
 
-    public static final String decodeString(InputStream s, String charset) throws IOException {
+    public static String decodeString(InputStream s, String charset) throws IOException {
         return decodeString(s, Charset.forName(charset));
     }
 
-    public static final String decodeString(InputStream s, Charset cs) throws IOException {
+    public static String decodeString(InputStream s, Charset cs) throws IOException {
         byte[]  bytes=readRLEBytes(s);
         return new String(bytes, cs);
     }
 
-    public static final BigInteger decodeBigInt(InputStream s) throws IOException {
+    public static BigInteger decodeBigInt(InputStream s) throws IOException {
         return new BigInteger(readRLEBytes(s));
     }
 
-    public static final byte[] readRLEBytes(InputStream s) throws IOException {
+    public static byte[] readRLEBytes(InputStream s) throws IOException {
         int     len=decodeInt(s);
         byte[]  bytes=new byte[len];
         IoUtils.readFully(s, bytes);
         return bytes;
     }
 
-    public static final int decodeInt(InputStream s) throws IOException {
+    public static int decodeInt(InputStream s) throws IOException {
         byte[]  bytes={ 0, 0, 0, 0 };
         IoUtils.readFully(s, bytes);
         return ((bytes[0] & 0xFF) << 24)

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java
index 1755f31..167d004 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/BuiltinIdentities.java
@@ -109,7 +109,7 @@ public enum BuiltinIdentities implements Identity {
      * @return The matching {@link BuiltinIdentities} whose {@link #getName()}
      * value matches case <U>insensitive</U> or {@code null} if no match found
      */
-    public static final BuiltinIdentities fromName(String name) {
+    public static BuiltinIdentities fromName(String name) {
         return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
     }
 
@@ -118,7 +118,7 @@ public enum BuiltinIdentities implements Identity {
      * @return The matching {@link BuiltinIdentities} whose {@link #getAlgorithm()}
      * value matches case <U>insensitive</U> or {@code null} if no match found
      */
-    public static final BuiltinIdentities fromAlgorithm(String algorithm) {
+    public static BuiltinIdentities fromAlgorithm(String algorithm) {
         if (GenericUtils.isEmpty(algorithm)) {
             return null;
         }
@@ -139,7 +139,7 @@ public enum BuiltinIdentities implements Identity {
      * match could be found
      * @see #fromKey(Key)
      */
-    public static final BuiltinIdentities fromKeyPair(KeyPair kp) {
+    public static BuiltinIdentities fromKeyPair(KeyPair kp) {
         if (kp == null) {
             return null;
         }
@@ -159,7 +159,7 @@ public enum BuiltinIdentities implements Identity {
      * private key type matches the requested one or {@code null} if no match found
      * @see #fromKeyType(Class)
      */
-    public static final BuiltinIdentities fromKey(Key key) {
+    public static BuiltinIdentities fromKey(Key key) {
         return fromKeyType((key == null) ? null : key.getClass());
     }
 
@@ -171,7 +171,7 @@ public enum BuiltinIdentities implements Identity {
      * @see #getPublicKeyType()
      * @see #getPrivateKeyType() 
      */
-    public static final BuiltinIdentities fromKeyType(Class<?> clazz) {
+    public static BuiltinIdentities fromKeyType(Class<?> clazz) {
         if ((clazz == null) || (!Key.class.isAssignableFrom(clazz))) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 a539fce..dd499f8 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
@@ -132,10 +132,10 @@ public class ECDSAPublicKeyEntryDecoder extends AbstractPublicKeyEntryDecoder<EC
 
     @Override
     public String encodePublicKey(OutputStream s, ECPublicKey key) throws IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(key, "No public key provided");
         
-        ECParameterSpec params = ValidateUtils.checkNotNull(key.getParams(), "No EC parameters available", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ECCurves curve = ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Cannot determine curve", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ECParameterSpec params = ValidateUtils.checkNotNull(key.getParams(), "No EC parameters available");
+        ECCurves curve = ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Cannot determine curve");
         String keyType = curve.getKeyType(), curveName = curve.getName();
         encodeString(s, keyType);
         // see rfc5656 section 3.1
@@ -336,7 +336,8 @@ public class ECDSAPublicKeyEntryDecoder extends AbstractPublicKeyEntryDecoder<EC
 
         public static final Set<ECPointCompression> VALUES=
                 Collections.unmodifiableSet(EnumSet.allOf(ECPointCompression.class));
-        public static final ECPointCompression fromIndicatorValue(int value) {
+
+        public static ECPointCompression fromIndicatorValue(int value) {
             if ((value < 0) || (value > 0xFF)) {
                 return null;    // must be a byte value
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
index e1b945f..062446b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/IdentityUtils.java
@@ -54,11 +54,8 @@ public final class IdentityUtils {
         if (GenericUtils.isEmpty(type)) {
             return null;
         } else {
-            return new StringBuilder(GenericUtils.length(prefix) + type.length() + GenericUtils.length(suffix))
-                            .append(GenericUtils.trimToEmpty(prefix))
-                            .append(type.toLowerCase())
-                            .append(GenericUtils.trimToEmpty(suffix))
-                            .toString();
+            return GenericUtils.trimToEmpty(prefix)
+                    + type.toLowerCase() + GenericUtils.trimToEmpty(suffix);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java
index cd3ec94..a7c07de 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/keys/PublicKeyEntry.java
@@ -226,7 +226,7 @@ public class PublicKeyEntry implements Serializable {
      * @return The updated appendable instance
      * @throws IOException If failed to append the data
      */
-    public static final <A extends Appendable> A appendPublicKeyEntry(A sb, PublicKey key) throws IOException {
+    public static <A extends Appendable> A appendPublicKeyEntry(A sb, PublicKey key) throws IOException {
         @SuppressWarnings("unchecked")
         PublicKeyEntryDecoder<PublicKey,?> decoder = (PublicKeyEntryDecoder<PublicKey,?>) KeyUtils.getPublicKeyEntryDecoder(key);
         if (decoder == null) {
@@ -263,7 +263,7 @@ public class PublicKeyEntry implements Serializable {
      * {@code known_hosts}, {@code authorized_keys}, etc.
      */
     @SuppressWarnings("synthetic-access")
-    public static final File getDefaultKeysFolder() {
+    public static File getDefaultKeysFolder() {
         return LazyDefaultKeysFolderHolder.folder;
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/file/FileSystemAware.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/file/FileSystemAware.java b/sshd-core/src/main/java/org/apache/sshd/common/file/FileSystemAware.java
index b3a7bf4..9412161 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/file/FileSystemAware.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/file/FileSystemAware.java
@@ -28,7 +28,7 @@ public interface FileSystemAware {
     /**
      * Set the file system in which this shell will be executed.
      *
-     * @param fileSystem
+     * @param fileSystem the file system
      */
     void setFileSystem(FileSystem fileSystem);
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 6b27d5a..8af95ad 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
@@ -65,10 +65,10 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
             }
         };
     private final Session session;
-    private final Map<Integer, SshdSocketAddress> localToRemote = new HashMap<Integer, SshdSocketAddress>();
-    private final Map<Integer, SshdSocketAddress> remoteToLocal = new HashMap<Integer, SshdSocketAddress>();
-    private final Map<Integer, SocksProxy> dynamicLocal = new HashMap<Integer, SocksProxy>();
-    private final Set<LocalForwardingEntry> localForwards = new HashSet<LocalForwardingEntry>();
+    private final Map<Integer, SshdSocketAddress> localToRemote = new HashMap<>();
+    private final Map<Integer, SshdSocketAddress> remoteToLocal = new HashMap<>();
+    private final Map<Integer, SocksProxy> dynamicLocal = new HashMap<>();
+    private final Set<LocalForwardingEntry> localForwards = new HashSet<>();
     private final IoHandlerFactory staticIoHandlerFactory = new IoHandlerFactory() {
             @Override
             public IoHandler create() {
@@ -107,7 +107,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
         int port = bound.getPort();
         SshdSocketAddress prev;
         synchronized(localToRemote) {
-            prev = localToRemote.put(Integer.valueOf(port), remote);
+            prev = localToRemote.put(port, remote);
         }
         
         if (prev != null) {
@@ -127,7 +127,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
         SshdSocketAddress bound;
         synchronized(localToRemote) {
-            bound = localToRemote.remove(Integer.valueOf(local.getPort()));
+            bound = localToRemote.remove(local.getPort());
         }
 
         if ((bound != null) && (acceptor != null)) {
@@ -160,7 +160,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
         // TODO: Is it really safe to only store the local address after the request ?
         SshdSocketAddress prev;
         synchronized(remoteToLocal) {
-            prev = remoteToLocal.put(Integer.valueOf(port), local);
+            prev = remoteToLocal.put(port, local);
         }
         
         if (prev != null) {
@@ -179,7 +179,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
     public synchronized void stopRemotePortForwarding(SshdSocketAddress remote) throws IOException {
         SshdSocketAddress bound;
         synchronized(remoteToLocal) {
-            bound = remoteToLocal.remove(Integer.valueOf(remote.getPort()));
+            bound = remoteToLocal.remove(remote.getPort());
         }
 
         if (bound != null) {
@@ -216,7 +216,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
         InetSocketAddress bound = doBind(local, socksProxyIoHandlerFactory);
         int port = bound.getPort();
         synchronized(dynamicLocal) {
-            prev = dynamicLocal.put(Integer.valueOf(port), socksProxy);
+            prev = dynamicLocal.put(port, socksProxy);
         }
         
         if (prev != null) {
@@ -235,7 +235,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
     public synchronized void stopDynamicPortForwarding(SshdSocketAddress local) throws IOException {
         Closeable obj;
         synchronized(dynamicLocal) {
-            obj = dynamicLocal.remove(Integer.valueOf(local.getPort()));
+            obj = dynamicLocal.remove(local.getPort());
         }
 
         if (obj != null) {
@@ -254,7 +254,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
     @Override
     public synchronized SshdSocketAddress getForwardedPort(int remotePort) {
         synchronized(remoteToLocal) {
-            return remoteToLocal.get(Integer.valueOf(remotePort));
+            return remoteToLocal.get(remotePort);
         }
     }
 
@@ -375,7 +375,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
         public void sessionCreated(final IoSession session) throws Exception {
             InetSocketAddress local = (InetSocketAddress) session.getLocalAddress(); 
             int localPort = local.getPort();
-            SshdSocketAddress remote = localToRemote.get(Integer.valueOf(localPort));
+            SshdSocketAddress remote = localToRemote.get(localPort);
             final TcpipClientChannel channel;
             if (remote != null) {
                 channel = new TcpipClientChannel(TcpipClientChannel.Type.Direct, session, remote);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
index cb70913..c0d6a7c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/SocksProxy.java
@@ -147,7 +147,7 @@ public class SocksProxy extends CloseableUtils.AbstractCloseable implements IoHa
                     host = getNTString(buffer);
                 }
                 if (log.isDebugEnabled()) {
-                    log.debug("Received socks4 connection request for {} to {}:{}", userId, host, Integer.valueOf(port));
+                    log.debug("Received socks4 connection request for {} to {}:{}", userId, host, port);
                 }
 
                 SshdSocketAddress remote = new SshdSocketAddress(host, port);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
index 2f64ca9..3f0da11 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/future/DefaultCloseFuture.java
@@ -35,7 +35,7 @@ public class DefaultCloseFuture extends DefaultSshFuture<CloseFuture> implements
     @Override   // TODO for JDK-8 make this a default method
     public boolean isClosed() {
         if (isDone()) {
-            return ((Boolean) getValue()).booleanValue();
+            return (Boolean) getValue();
         } else {
             return false;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
index b67b1ff..4dd1c7b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/AbstractIoWriteFuture.java
@@ -46,7 +46,7 @@ public abstract class AbstractIoWriteFuture extends DefaultSshFuture<IoWriteFutu
     @Override      // TODO for JDK-8 make this a default method
     public void verify(long timeout) throws IOException {
         Boolean result = verifyResult(Boolean.class, timeout);
-        if (!result.booleanValue()) {
+        if (!result) {
             throw new SshException("Write failed signalled");
         }
     }
@@ -54,7 +54,7 @@ public abstract class AbstractIoWriteFuture extends DefaultSshFuture<IoWriteFutu
     @Override      // TODO for JDK-8 make this a default method
     public boolean isWritten() {
         Object value = getValue();
-        return (value instanceof Boolean) && ((Boolean) value).booleanValue();
+        return (value instanceof Boolean) && (Boolean) value;
     }
 
     @Override      // TODO for JDK-8 make this a default method

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java b/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
index f5c558e..da71b02 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/BuiltinIoServiceFactoryFactories.java
@@ -66,11 +66,11 @@ public enum BuiltinIoServiceFactoryFactories implements NamedFactory<IoServiceFa
     public static final Set<BuiltinIoServiceFactoryFactories> VALUES = 
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinIoServiceFactoryFactories.class));
 
-    public static final BuiltinIoServiceFactoryFactories fromFactoryName(String name) {
+    public static BuiltinIoServiceFactoryFactories fromFactoryName(String name) {
         return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
     }
     
-    public static final BuiltinIoServiceFactoryFactories fromFactoryClass(Class<?> clazz) {
+    public static BuiltinIoServiceFactoryFactories fromFactoryClass(Class<?> clazz) {
         if ((clazz == null) || (!IoServiceFactoryFactory.class.isAssignableFrom(clazz))) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
index 2053797..360c501 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/mina/MinaService.java
@@ -126,19 +126,19 @@ public abstract class MinaService extends CloseableUtils.AbstractCloseable imple
         Integer intVal;
         Boolean boolVal;
         if ((boolVal = getBoolean(FactoryManager.SOCKET_KEEPALIVE)) != null) {
-            config.setKeepAlive(boolVal.booleanValue());
+            config.setKeepAlive(boolVal);
         }
         if ((intVal = getInteger(FactoryManager.SOCKET_SNDBUF)) != null) {
-            config.setSendBufferSize(intVal.intValue());
+            config.setSendBufferSize(intVal);
         }
         if ((intVal = getInteger(FactoryManager.SOCKET_RCVBUF)) != null) {
-            config.setReceiveBufferSize(intVal.intValue());
+            config.setReceiveBufferSize(intVal);
         }
         if ((intVal = getInteger(FactoryManager.SOCKET_LINGER)) != null) {
-            config.setSoLinger(intVal.intValue());
+            config.setSoLinger(intVal);
         }
         if ((boolVal = getBoolean(FactoryManager.SOCKET_LINGER)) != null) {
-            config.setTcpNoDelay(boolVal.booleanValue());
+            config.setTcpNoDelay(boolVal);
         }
         if (sessionConfig != null) {
             config.setAll(sessionConfig);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 aaa83f8..5f8e071 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
@@ -143,7 +143,7 @@ public class Nio2Acceptor extends Nio2Service implements IoAcceptor {
                 // Create a session
                 session = new Nio2Session(Nio2Acceptor.this, manager, handler, result);
                 handler.sessionCreated(session);
-                sessions.put(Long.valueOf(session.getId()), session);
+                sessions.put(session.getId(), session);
                 session.startReading();
             } catch (Throwable exc) {
                 failed(exc, address);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
index 722f9f5..b809689 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/io/nio2/Nio2Connector.java
@@ -57,7 +57,7 @@ public class Nio2Connector extends Nio2Service implements IoConnector {
                     try {
                         Nio2Session session = new Nio2Session(Nio2Connector.this, manager, handler, socket);
                         handler.sessionCreated(session);
-                        sessions.put(Long.valueOf(session.getId()), session);
+                        sessions.put(session.getId(), session);
                         future.setSession(session);
                         session.startReading();
                     } catch (Throwable e) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 69aaacb..bb7ae2f 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
@@ -73,7 +73,7 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
     }
 
     public void sessionClosed(Nio2Session session) {
-        sessions.remove(Long.valueOf(session.getId()));
+        sessions.remove(session.getId());
     }
 
     protected <T> void setOption(NetworkChannel socket, String property, SocketOption<T> option, T defaultValue) throws IOException {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 a932072..b53411f 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
@@ -213,7 +213,7 @@ public class Nio2Session extends CloseableUtils.AbstractCloseable implements IoS
             @SuppressWarnings("synthetic-access")
             protected void onCompleted(Integer result, Object attachment) {
                 try {
-                    if (result.intValue() >= 0) {
+                    if (result >= 0) {
                         log.debug("Read {} bytes", result);
                         buffer.flip();
                         handler.messageReceived(Nio2Session.this, bufReader);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 0ea2ab2..4f9c5c7 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
@@ -181,7 +181,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * or overrides a built-in one or overrides another registered factory
      * with the same name (case <U>insensitive</U>).
      */
-    public static final void registerExtension(DHFactory extension) {
+    public static void registerExtension(DHFactory extension) {
         String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
@@ -195,7 +195,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * @return A {@link SortedSet} of the currently registered extensions, sorted
      * according to the factory name (case <U>insensitive</U>)
      */
-    public static final SortedSet<DHFactory> getRegisteredExtensions() {
+    public static SortedSet<DHFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
         synchronized(extensions) {
             return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
@@ -207,7 +207,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
-    public static final DHFactory unregisterExtension(String name) {
+    public static DHFactory unregisterExtension(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -222,7 +222,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * @return The matching {@link BuiltinDHFactories} (case <U>insensitive</U>)
      * or {@code null} if no match found
      */
-    public static final BuiltinDHFactories fromFactoryName(String name) {
+    public static BuiltinDHFactories fromFactoryName(String name) {
         return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
     }
 
@@ -241,15 +241,15 @@ public enum BuiltinDHFactories implements DHFactory {
      * <B>Note:</B> it is up to caller to ensure that the list does not
      * contain duplicates
      */
-    public static final ParseResult parseDHFactoriesList(String dhList) {
+    public static ParseResult parseDHFactoriesList(String dhList) {
         return parseDHFactoriesList(GenericUtils.split(dhList, ','));
     }
 
-    public static final ParseResult parseDHFactoriesList(String ... dhList) {
+    public static ParseResult parseDHFactoriesList(String ... dhList) {
         return parseDHFactoriesList(GenericUtils.isEmpty((Object[]) dhList) ? Collections.<String>emptyList() : Arrays.asList(dhList));
     }
 
-    public static final ParseResult parseDHFactoriesList(Collection<String> dhList) {
+    public static ParseResult parseDHFactoriesList(Collection<String> dhList) {
         if (GenericUtils.isEmpty(dhList)) {
             return ParseResult.EMPTY;
         }
@@ -276,7 +276,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * @return The factory or {@code null} if it is neither a built-in one
      * or a registered extension 
      */
-    public static final DHFactory resolveFactory(String name) {
+    public static DHFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 8ca6a58..2624ef9 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
@@ -114,7 +114,7 @@ public enum BuiltinMacs implements MacFactory {
      * or overrides a built-in one or overrides another registered factory
      * with the same name (case <U>insensitive</U>).
      */
-    public static final void registerExtension(MacFactory extension) {
+    public static void registerExtension(MacFactory extension) {
         String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
@@ -128,7 +128,7 @@ public enum BuiltinMacs implements MacFactory {
      * @return A {@link SortedSet} of the currently registered extensions, sorted
      * according to the factory name (case <U>insensitive</U>)
      */
-    public static final SortedSet<MacFactory> getRegisteredExtensions() {
+    public static SortedSet<MacFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
         synchronized(extensions) {
             return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
@@ -140,7 +140,7 @@ public enum BuiltinMacs implements MacFactory {
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
-    public static final MacFactory unregisterExtension(String name) {
+    public static MacFactory unregisterExtension(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -199,15 +199,15 @@ public enum BuiltinMacs implements MacFactory {
      * factories and the unknown ones. <B>Note:</B> it is up to caller to
      * ensure that the lists do not contain duplicates
      */
-    public static final ParseResult parseMacsList(String macs) {
+    public static ParseResult parseMacsList(String macs) {
         return parseMacsList(GenericUtils.split(macs, ','));
     }
 
-    public static final ParseResult parseMacsList(String ... macs) {
+    public static ParseResult parseMacsList(String ... macs) {
         return parseMacsList(GenericUtils.isEmpty((Object[]) macs) ? Collections.<String>emptyList() : Arrays.asList(macs));
     }
 
-    public static final ParseResult parseMacsList(Collection<String> macs) {
+    public static ParseResult parseMacsList(Collection<String> macs) {
         if (GenericUtils.isEmpty(macs)) {
             return ParseResult.EMPTY;
         }
@@ -235,7 +235,7 @@ public enum BuiltinMacs implements MacFactory {
      * @return The factory or {@code null} if it is neither a built-in one
      * or a registered extension 
      */
-    public static final MacFactory resolveFactory(String name) {
+    public static MacFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpTargetStreamResolver.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpTargetStreamResolver.java b/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpTargetStreamResolver.java
index 1648b9e..3accdb4 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpTargetStreamResolver.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpTargetStreamResolver.java
@@ -61,12 +61,12 @@ public class LocalFileScpTargetStreamResolver extends AbstractLoggingBean implem
         }
 
         LinkOption[] options = IoUtils.getLinkOptions(false);
-        if (status.booleanValue() && Files.isDirectory(path, options)) {
+        if (status && Files.isDirectory(path, options)) {
             String localName = name.replace('/', File.separatorChar);   // in case we are running on Windows
             file = path.resolve(localName);
-        } else if (status.booleanValue() && Files.isRegularFile(path, options)) {
+        } else if (status && Files.isRegularFile(path, options)) {
             file = path;
-        } else if (!status.booleanValue()) {
+        } else if (!status) {
             Path parent = path.getParent();
             
             Boolean parentStatus = IoUtils.checkFileExists(parent, options);
@@ -74,7 +74,7 @@ public class LocalFileScpTargetStreamResolver extends AbstractLoggingBean implem
                 throw new AccessDeniedException("Receive file parent (" + parent + ") existence status cannot be determined for " + path);
             }
 
-            if (parentStatus.booleanValue() && Files.isDirectory(parent, options)) {
+            if (parentStatus && Files.isDirectory(parent, options)) {
                 file = path;
             }
         }
@@ -88,7 +88,7 @@ public class LocalFileScpTargetStreamResolver extends AbstractLoggingBean implem
             throw new AccessDeniedException("Receive file existence status cannot be determined: " + file);
         }
 
-        if (fileStatus.booleanValue()) {
+        if (fileStatus) {
             if (Files.isDirectory(file, options)) {
                 throw new IOException("File is a directory: " + file);
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 88e604a..c685d23 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
@@ -148,7 +148,7 @@ public class ScpHelper extends AbstractLoggingBean {
             if (status == null) {
                 throw new SshException("Target directory " + path + " is most like inaccessible");
             }
-            if (!status.booleanValue()) {
+            if (!status) {
                 throw new SshException("Target directory " + path + " does not exist");
             }
             if (!Files.isDirectory(path, options)) {
@@ -230,10 +230,10 @@ public class ScpHelper extends AbstractLoggingBean {
         }
 
         Path file=null;
-        if (status.booleanValue() && Files.isDirectory(path, options)) {
+        if (status && Files.isDirectory(path, options)) {
             String localName = name.replace('/', File.separatorChar);
             file = path.resolve(localName);
-        } else if (!status.booleanValue()) {
+        } else if (!status) {
             Path parent = path.getParent();
 
             status = IoUtils.checkFileExists(parent, options);
@@ -241,7 +241,7 @@ public class ScpHelper extends AbstractLoggingBean {
                 throw new AccessDeniedException("Receive directory parent (" + parent + ") existence status cannot be determined for " + path);
             }
                 
-            if (status.booleanValue() && Files.isDirectory(parent, options)) { 
+            if (status && Files.isDirectory(parent, options)) {
                 file = path;
             }
         }
@@ -421,13 +421,13 @@ public class ScpHelper extends AbstractLoggingBean {
                     } else if (Files.isDirectory(file, options)) {
                         if (!recursive) {
                             out.write(ScpHelper.WARNING);
-                            out.write((path.toString().replace(File.separatorChar, '/') + " not a regular file\n").getBytes(StandardCharsets.UTF_8));
+                            out.write((path.replace(File.separatorChar, '/') + " not a regular file\n").getBytes(StandardCharsets.UTF_8));
                         } else {
                             sendDir(file, preserve, bufferSize);
                         }
                     } else {
                         out.write(ScpHelper.WARNING);
-                        out.write((path.toString().replace(File.separatorChar, '/') + " unknown file type\n").getBytes(StandardCharsets.UTF_8));
+                        out.write((path.replace(File.separatorChar, '/') + " unknown file type\n").getBytes(StandardCharsets.UTF_8));
                     }
                 }
             } else {
@@ -457,7 +457,7 @@ public class ScpHelper extends AbstractLoggingBean {
         if (status == null) {
             throw new AccessDeniedException("Send file existence status cannot be determined: " + file);
         }
-        if (!status.booleanValue()) {
+        if (!status) {
             throw new IOException(file + ": no such file or directory");
         }
 
@@ -522,11 +522,9 @@ public class ScpHelper extends AbstractLoggingBean {
 
         ScpTimestamp time = resolver.getTimestamp();
         if (preserve && (time != null)) {
-            String cmd = new StringBuilder(Long.SIZE)
-                    .append('T').append(TimeUnit.MILLISECONDS.toSeconds(time.lastModifiedTime)).append(' ').append('0')
-                    .append(' ').append(TimeUnit.MILLISECONDS.toSeconds(time.lastAccessTime)).append(' ').append('0')
-                    .append('\n')
-                    .toString();
+            String cmd = "T" + TimeUnit.MILLISECONDS.toSeconds(time.lastModifiedTime)
+                    + ' ' + '0' + ' ' + TimeUnit.MILLISECONDS.toSeconds(time.lastAccessTime)
+                    + ' ' + '0' + '\n';
             out.write(cmd.getBytes(StandardCharsets.UTF_8));
             out.flush();
             readAck(false);
@@ -535,12 +533,7 @@ public class ScpHelper extends AbstractLoggingBean {
         Set<PosixFilePermission> perms = EnumSet.copyOf(resolver.getPermissions());
         String octalPerms = preserve ? getOctalPermissions(perms) : "0644";
         String fileName = resolver.getFileName();
-        String cmd = new StringBuilder(octalPerms.length() + fileName.length() + Long.SIZE /* some extra delimiters */)
-            .append('C').append(octalPerms)
-            .append(' ').append(fileSize)
-            .append(' ').append(fileName)
-            .append('\n')
-            .toString();
+        String cmd = "C" + octalPerms + ' ' + fileSize + ' ' + fileName + '\n';
         out.write(cmd.getBytes(StandardCharsets.UTF_8));
         out.flush();
         readAck(false);
@@ -567,32 +560,17 @@ public class ScpHelper extends AbstractLoggingBean {
 
         BasicFileAttributes basic = Files.getFileAttributeView(path, BasicFileAttributeView.class).readAttributes();
         if (preserve) {
-            StringBuilder buf = new StringBuilder();
-            buf.append("T");
-            buf.append(basic.lastModifiedTime().to(TimeUnit.SECONDS));
-            buf.append(" ");
-            buf.append("0");
-            buf.append(" ");
-            buf.append(basic.lastAccessTime().to(TimeUnit.SECONDS));
-            buf.append(" ");
-            buf.append("0");
-            buf.append("\n");
-            out.write(buf.toString().getBytes(StandardCharsets.UTF_8));
+            out.write(("T" + basic.lastModifiedTime().to(TimeUnit.SECONDS) + " "
+                    + "0" + " " + basic.lastAccessTime().to(TimeUnit.SECONDS) + " "
+                    + "0" + "\n").getBytes(StandardCharsets.UTF_8));
             out.flush();
             readAck(false);
         }
 
         LinkOption[] options = IoUtils.getLinkOptions(false);
         Set<PosixFilePermission> perms = IoUtils.getPermissions(path, options);
-        StringBuilder buf = new StringBuilder();
-        buf.append("D");
-        buf.append(preserve ? getOctalPermissions(perms) : "0755");
-        buf.append(" ");
-        buf.append("0"); // length
-        buf.append(" ");
-        buf.append(path.getFileName().toString());
-        buf.append("\n");
-        out.write(buf.toString().getBytes(StandardCharsets.UTF_8));
+        out.write(("D" + (preserve ? getOctalPermissions(perms) : "0755") + " "
+                + "0" + " " + path.getFileName().toString() + "\n").getBytes(StandardCharsets.UTF_8));
         out.flush();
         readAck(false);
 
@@ -660,7 +638,7 @@ public class ScpHelper extends AbstractLoggingBean {
             }
         }
 
-        return String.format("%04o", Integer.valueOf(pf));
+        return String.format("%04o", pf);
     }
 
     public static Set<PosixFilePermission> setOctalPermissions(Path path, String str) throws IOException {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
index e3c7678..3d43fa2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
@@ -146,7 +146,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
                 throw new IllegalStateException("Session is being closed: " + toString());
             }
 
-            channels.put(Integer.valueOf(channelId), channel);
+            channels.put(channelId, channel);
         }
         
         if (log.isDebugEnabled()) {
@@ -162,7 +162,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
      */
     @Override
     public void unregisterChannel(Channel channel) {
-        channels.remove(Integer.valueOf(channel.getId()));
+        channels.remove(channel.getId());
     }
 
     @Override
@@ -230,7 +230,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
 
     public void channelOpenFailure(Buffer buffer) throws IOException {
         AbstractClientChannel channel = (AbstractClientChannel) getChannel(buffer);
-        Integer id = Integer.valueOf(channel.getId());
+        int id = channel.getId();
         if (log.isDebugEnabled()) {
             log.debug("Received SSH_MSG_CHANNEL_OPEN_FAILURE on channel {}", id);
         }
@@ -328,7 +328,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
      */
     protected Channel getChannel(Buffer buffer) throws IOException {
         int recipient = buffer.getInt();
-        Channel channel = channels.get(Integer.valueOf(recipient));
+        Channel channel = channels.get(recipient);
         if (channel == null) {
             buffer.rpos(buffer.rpos() - 5);
             int cmd = buffer.getUByte();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 5c5b1d4..6efddd1 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
@@ -137,7 +137,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      * or overrides a built-in one or overrides another registered factory
      * with the same name (case <U>insensitive</U>).
      */
-    public static final void registerExtension(SignatureFactory extension) {
+    public static void registerExtension(SignatureFactory extension) {
         String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
@@ -151,7 +151,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      * @return A {@link SortedSet} of the currently registered extensions, sorted
      * according to the factory name (case <U>insensitive</U>)
      */
-    public static final SortedSet<SignatureFactory> getRegisteredExtensions() {
+    public static SortedSet<SignatureFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
         synchronized(extensions) {
             return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
@@ -163,7 +163,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
-    public static final SignatureFactory unregisterExtension(String name) {
+    public static SignatureFactory unregisterExtension(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -225,15 +225,15 @@ public enum BuiltinSignatures implements SignatureFactory {
      * <B>Note:</B> it is up to caller to ensure that the list does not
      * contain duplicates
      */
-    public static final ParseResult parseSignatureList(String sigs) {
+    public static ParseResult parseSignatureList(String sigs) {
         return parseSignatureList(GenericUtils.split(sigs, ','));
     }
 
-    public static final ParseResult parseSignatureList(String ... sigs) {
+    public static ParseResult parseSignatureList(String ... sigs) {
         return parseSignatureList(GenericUtils.isEmpty((Object[]) sigs) ? Collections.<String>emptyList() : Arrays.asList(sigs));
     }
 
-    public static final ParseResult parseSignatureList(Collection<String> sigs) {
+    public static ParseResult parseSignatureList(Collection<String> sigs) {
         if (GenericUtils.isEmpty(sigs)) {
             return ParseResult.EMPTY;
         }
@@ -261,7 +261,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      * @return The factory or {@code null} if it is neither a built-in one
      * or a registered extension 
      */
-    public static final SignatureFactory resolveFactory(String name) {
+    public static SignatureFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java b/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
index 30b448d..dbac318 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/signature/Signature.java
@@ -40,7 +40,7 @@ public interface Signature {
     void initVerifier(PublicKey key) throws Exception;
 
     /**
-     * @param prvkey The {@link PrivateKey} to be used for signing
+     * @param key The {@link PrivateKey} to be used for signing
      * @throws Exception If failed to initialize
      */
     void initSigner(PrivateKey key) throws Exception;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 b00ee88..e390f80 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
@@ -123,7 +123,7 @@ public final class ParserUtils {
         }
     }
 
-    public static final List<ExtensionParser<?>> getRegisteredParsers() {
+    public static List<ExtensionParser<?>> getRegisteredParsers() {
         synchronized(parsersMap) {
             if (parsersMap.isEmpty()) {
                 return Collections.emptyList();
@@ -133,7 +133,7 @@ public final class ParserUtils {
         }
     }
 
-    public static final Set<String> supportedExtensions(Map<String,?> parsed) {
+    public static Set<String> supportedExtensions(Map<String,?> parsed) {
         if (GenericUtils.isEmpty(parsed)) {
             return Collections.emptySet();
         }
@@ -163,7 +163,7 @@ public final class ParserUtils {
      * @see #getRegisteredParser(String)
      * @see ExtensionParser#transform(Object)
      */
-    public static final Map<String,Object> parse(Map<String,byte[]> extensions) {
+    public static Map<String,Object> parse(Map<String,byte[]> extensions) {
         if (GenericUtils.isEmpty(extensions)) {
             return Collections.emptyMap();
         }
@@ -181,7 +181,7 @@ public final class ParserUtils {
         return data;
     }
 
-    public static final Object parse(String name, byte ... encoded) {
+    public static Object parse(String name, byte ... encoded) {
         ExtensionParser<?> parser = getRegisteredParser(name);
         if (parser == null) {
             return null;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java b/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
index d8ce356..7a897c7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/Base64.java
@@ -162,8 +162,8 @@ public class Base64 {
             // shouldn't a 0 length array be valid base64 data?
             return true;
         }
-        for (int i = 0; i < length; i++) {
-            if (!isBase64(arrayOctect[i])) {
+        for (byte anArrayOctect : arrayOctect) {
+            if (!isBase64(anArrayOctect)) {
                 return false;
             }
         }
@@ -239,8 +239,8 @@ public class Base64 {
         int lengthDataBits = binaryData.length * EIGHTBIT;
         int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP;
         int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
-        byte encodedData[] = null;
-        int encodedDataLength = 0;
+        byte encodedData[];
+        int encodedDataLength;
         int nbrChunks = 0;
 
         if (fewerThan24bits != 0) {
@@ -364,13 +364,13 @@ public class Base64 {
         }
 
         int numberQuadruple = base64Data.length / FOURBYTE;
-        byte decodedData[] = null;
-        byte b1 = 0, b2 = 0, b3 = 0, b4 = 0, marker0 = 0, marker1 = 0;
+        byte decodedData[];
+        byte b1, b2, b3, b4, marker0, marker1;
 
         // Throw away anything not in base64Data
 
         int encodedIndex = 0;
-        int dataIndex = 0;
+        int dataIndex;
         {
             // this sizes the output array properly - rlw
             int lastData = base64Data.length;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java b/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
index 8c48e33..95ab94d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/DirectoryScanner.java
@@ -228,7 +228,7 @@ public class DirectoryScanner {
             throw new IllegalStateException("No includes set ");
         }
 
-        filesIncluded = new ArrayList<String>();
+        filesIncluded = new ArrayList<>();
 
         scandir(basedir, "");
 
@@ -252,9 +252,9 @@ public class DirectoryScanner {
             newfiles = new String[0];
         }
 
-        for (int i = 0; i < newfiles.length; i++) {
-            String name = vpath + newfiles[i];
-            File file = new File(dir, newfiles[i]);
+        for (String newfile : newfiles) {
+            String name = vpath + newfile;
+            File file = new File(dir, newfile);
             if (file.isDirectory()) {
                 if (isIncluded(name)) {
                     filesIncluded.add(name);
@@ -293,8 +293,8 @@ public class DirectoryScanner {
      *         include pattern, or <code>false</code> otherwise.
      */
     protected boolean isIncluded(String name) {
-        for (int i = 0; i < includes.length; i++) {
-            if (SelectorUtils.matchPath(includes[i], name, isCaseSensitive)) {
+        for (String include : includes) {
+            if (SelectorUtils.matchPath(include, name, isCaseSensitive)) {
                 return true;
             }
         }
@@ -310,8 +310,8 @@ public class DirectoryScanner {
      *         least one include pattern, or <code>false</code> otherwise.
      */
     protected boolean couldHoldIncluded(String name) {
-        for (int i = 0; i < includes.length; i++) {
-            if (SelectorUtils.matchPatternStart(includes[i], name, isCaseSensitive)) {
+        for (String include : includes) {
+            if (SelectorUtils.matchPatternStart(include, name, isCaseSensitive)) {
                 return true;
             }
         }
@@ -361,8 +361,8 @@ public class DirectoryScanner {
             return text;
         }
 
-        StringBuffer buf = new StringBuffer(text.length());
-        int start = 0, end = 0;
+        StringBuilder buf = new StringBuilder(text.length());
+        int start = 0, end;
         while ((end = text.indexOf(repl, start)) != -1) {
             buf.append(text.substring(start, end)).append(with);
             start = end + repl.length();


[6/6] mina-sshd git commit: Remove boxing / unboxing, remove useless final modifiers, use try with resources, fix a few javadocs

Posted by gn...@apache.org.
Remove boxing / unboxing, remove useless final modifiers, use try with resources, fix a few javadocs

Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/1c80bb65
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/1c80bb65
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/1c80bb65

Branch: refs/heads/master
Commit: 1c80bb65397d77b29716760b57f41a78271d86bf
Parents: ec48d8b
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jul 16 15:35:12 2015 +0200
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jul 16 15:35:12 2015 +0200

----------------------------------------------------------------------
 .../agent/local/ChannelAgentForwarding.java     |   5 -
 .../java/org/apache/sshd/client/SshKeyScan.java |  17 +--
 .../client/auth/UserAuthPasswordFactory.java    |   1 +
 .../client/auth/UserAuthPublicKeyFactory.java   |   1 +
 .../client/channel/AbstractClientChannel.java   |   6 +-
 .../channel/PtyCapableChannelSession.java       |  22 +--
 .../sshd/client/config/keys/ClientIdentity.java |   2 +-
 .../sshd/client/future/DefaultAuthFuture.java   |   2 +-
 .../subsystem/sftp/AbstractSftpClient.java      |  16 +--
 .../subsystem/sftp/DefaultSftpClient.java       |  16 +--
 .../sshd/client/subsystem/sftp/SftpClient.java  |   9 +-
 .../sshd/client/subsystem/sftp/SftpCommand.java |   2 +-
 .../subsystem/sftp/SftpFileSystemProvider.java  |  32 ++---
 .../sshd/client/subsystem/sftp/SftpPath.java    |   3 -
 .../org/apache/sshd/common/BaseBuilder.java     |   4 +-
 .../apache/sshd/common/FactoryManagerUtils.java |  72 +++++-----
 .../org/apache/sshd/common/NamedFactory.java    |   6 +-
 .../org/apache/sshd/common/NamedResource.java   |   2 +-
 .../java/org/apache/sshd/common/Service.java    |   8 --
 .../org/apache/sshd/common/ServiceFactory.java  |   2 +-
 .../org/apache/sshd/common/SshConstants.java    | 142 +++++++++----------
 .../sshd/common/channel/AbstractChannel.java    |   4 +-
 .../common/channel/ChannelAsyncInputStream.java |   2 +-
 .../org/apache/sshd/common/channel/PtyMode.java |   6 +-
 .../apache/sshd/common/channel/SttySupport.java |   6 +-
 .../sshd/common/cipher/BuiltinCiphers.java      |  48 +++----
 .../common/compression/BuiltinCompressions.java |  30 ++--
 .../sshd/common/compression/Compression.java    |   4 +-
 .../common/config/AllowTcpForwardingValue.java  |   3 +-
 .../common/config/CompressionConfigValue.java   |   2 +-
 .../sshd/common/config/LogLevelValue.java       |   3 +-
 .../sshd/common/config/SshConfigFileReader.java |  94 ++++++------
 .../sshd/common/config/SyslogFacilityValue.java |   3 +-
 .../sshd/common/config/TimeValueConfig.java     |  17 +--
 .../keys/AbstractPublicKeyEntryDecoder.java     |  32 ++---
 .../common/config/keys/BuiltinIdentities.java   |  10 +-
 .../config/keys/ECDSAPublicKeyEntryDecoder.java |   9 +-
 .../sshd/common/config/keys/IdentityUtils.java  |   7 +-
 .../sshd/common/config/keys/PublicKeyEntry.java |   4 +-
 .../sshd/common/file/FileSystemAware.java       |   2 +-
 .../common/forward/DefaultTcpipForwarder.java   |  24 ++--
 .../apache/sshd/common/forward/SocksProxy.java  |   2 +-
 .../sshd/common/future/DefaultCloseFuture.java  |   2 +-
 .../sshd/common/io/AbstractIoWriteFuture.java   |   4 +-
 .../io/BuiltinIoServiceFactoryFactories.java    |   4 +-
 .../apache/sshd/common/io/mina/MinaService.java |  10 +-
 .../sshd/common/io/nio2/Nio2Acceptor.java       |   2 +-
 .../sshd/common/io/nio2/Nio2Connector.java      |   2 +-
 .../apache/sshd/common/io/nio2/Nio2Service.java |   2 +-
 .../apache/sshd/common/io/nio2/Nio2Session.java |   2 +-
 .../sshd/common/kex/BuiltinDHFactories.java     |  16 +--
 .../org/apache/sshd/common/mac/BuiltinMacs.java |  14 +-
 .../scp/LocalFileScpTargetStreamResolver.java   |  10 +-
 .../org/apache/sshd/common/scp/ScpHelper.java   |  56 +++-----
 .../session/AbstractConnectionService.java      |   8 +-
 .../common/signature/BuiltinSignatures.java     |  14 +-
 .../apache/sshd/common/signature/Signature.java |   2 +-
 .../subsystem/sftp/extensions/ParserUtils.java  |   8 +-
 .../org/apache/sshd/common/util/Base64.java     |  14 +-
 .../sshd/common/util/DirectoryScanner.java      |  20 +--
 .../apache/sshd/common/util/GenericUtils.java   |  58 ++++----
 .../org/apache/sshd/common/util/OsUtils.java    |   2 +-
 .../apache/sshd/common/util/SecurityUtils.java  |   8 +-
 .../apache/sshd/common/util/ValidateUtils.java  |  28 ++--
 .../sshd/common/util/buffer/BufferUtils.java    |   4 +-
 .../sshd/common/util/io/NoCloseInputStream.java |   2 +-
 .../common/util/io/NoCloseOutputStream.java     |   2 +-
 .../sshd/common/util/io/NoCloseReader.java      |   2 +-
 .../sshd/common/util/io/NoCloseWriter.java      |   2 +-
 .../sshd/common/util/logging/LoggingUtils.java  |   8 +-
 .../sshd/common/util/threads/ThreadUtils.java   |   2 +-
 .../org/apache/sshd/server/Environment.java     |   8 +-
 .../java/org/apache/sshd/server/Signal.java     |   2 +-
 .../auth/CachingPublicKeyAuthenticator.java     |   4 +-
 .../auth/UserAuthKeyboardInteractive.java       |   2 +-
 .../sshd/server/auth/UserAuthPassword.java      |   2 +-
 .../sshd/server/auth/gss/UserAuthGSS.java       |   2 +-
 .../password/StaticPasswordAuthenticator.java   |   2 +-
 .../pubkey/StaticPublickeyAuthenticator.java    |   2 +-
 .../sshd/server/channel/ChannelSession.java     | 101 ++++++-------
 .../apache/sshd/server/command/ScpCommand.java  |   2 +-
 .../sshd/server/command/ScpCommandFactory.java  |   2 +-
 .../server/config/keys/AuthorizedKeyEntry.java  |  26 ++--
 .../sshd/server/forward/ForwardingFilter.java   |   6 +-
 .../sshd/server/forward/TcpipServerChannel.java |   4 +-
 .../server/jaas/JaasPasswordAuthenticator.java  |  12 +-
 .../server/kex/AbstractDHServerKeyExchange.java |   4 +-
 .../java/org/apache/sshd/server/kex/Moduli.java |   5 +-
 .../server/session/ServerUserAuthService.java   |   4 +-
 .../server/subsystem/sftp/SftpSubsystem.java    | 100 ++++++-------
 90 files changed, 607 insertions(+), 673 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
index 82c67f3..a8e0bd8 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/ChannelAgentForwarding.java
@@ -67,10 +67,6 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
         // be sent after we return.
         //
         super.close(true);
-
-        // We also need to close the socket.
-        //
-//        Socket.close(handle);
     }
 
     @Override
@@ -87,7 +83,6 @@ public class ChannelAgentForwarding extends AbstractServerChannel {
     @Override
     public void handleEof() throws IOException {
         super.handleEof();
-//        close(true);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
index d1d8177..385ad47 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
@@ -198,15 +198,14 @@ public class SshKeyScan extends AbstractSimplifiedLog
             client = SshClient.setUpDefaultClient();
             client.setServerKeyVerifier(this);
 
-            BufferedReader rdr = new BufferedReader(new InputStreamReader(getInputStream(), StandardCharsets.UTF_8));
-            try {
+            try (BufferedReader rdr = new BufferedReader(new InputStreamReader(getInputStream(), StandardCharsets.UTF_8))) {
                 client.start();
                 for (String line = rdr.readLine(); line != null; line = rdr.readLine()) {
                     String[] hosts = GenericUtils.split(GenericUtils.trimToEmpty(line), ',');
                     if (GenericUtils.isEmpty(hosts)) {
                         continue;
                     }
-                    
+
                     for (String h : hosts) {
                         if (!isOpen()) {
                             throw new InterruptedIOException("Closed while preparing to contact host=" + h);
@@ -214,7 +213,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
 
                         try {
                             resolveServerKeys(client, h, pairsMap, sigFactories);
-                        } catch(Exception e) {
+                        } catch (Exception e) {
                             // check if interrupted while scanning host keys
                             if (e instanceof InterruptedIOException) {
                                 throw e;
@@ -229,8 +228,6 @@ public class SshKeyScan extends AbstractSimplifiedLog
                         }
                     }
                 }
-            } finally {
-                rdr.close();
             }
         } finally {
             try {
@@ -396,7 +393,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
         log(Level.INFO, sb);
     }
 
-    private static final String toString(SocketAddress addr) {
+    private static String toString(SocketAddress addr) {
         if (addr == null) {
             return null;
         } else if (addr instanceof InetSocketAddress) {
@@ -532,7 +529,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
     //////////////////////////////////////////////////////////////////////////
 
     // returns a List of the hosts to be contacted
-    public static final List<String> parseCommandLineArguments(SshKeyScan scanner, String ... args) throws IOException {
+    public static List<String> parseCommandLineArguments(SshKeyScan scanner, String ... args) throws IOException {
         int numArgs = GenericUtils.length(args);
         for (int index=0; index < numArgs; index++) {
             String optName = args[index];
@@ -599,7 +596,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
 
     /* -------------------------------------------------------------------- */
 
-    public static final <S extends SshKeyScan> S setInputStream(S scanner, Collection<String> hosts) throws IOException {
+    public static <S extends SshKeyScan> S setInputStream(S scanner, Collection<String> hosts) throws IOException {
         if (GenericUtils.isEmpty(hosts)) {
             ValidateUtils.checkNotNull(scanner.getInputStream(), "No hosts or file specified");
         } else {
@@ -622,7 +619,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
         return scanner;
     }
 
-    public static final <S extends SshKeyScan> S initializeScanner(S scanner, Collection<String> hosts) throws IOException {
+    public static <S extends SshKeyScan> S initializeScanner(S scanner, Collection<String> hosts) throws IOException {
         setInputStream(scanner, hosts);
         if (scanner.getPort() <= 0) {
             scanner.setPort(SshConfigFileReader.DEFAULT_PORT);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPasswordFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPasswordFactory.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPasswordFactory.java
index 43c6db9..c22d146 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPasswordFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPasswordFactory.java
@@ -32,6 +32,7 @@ public class UserAuthPasswordFactory implements UserAuthFactory {
     public String getName() {
         return "password";
     }
+
     @Override
     public UserAuth create() {
         return new UserAuthPassword();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKeyFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKeyFactory.java b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKeyFactory.java
index be3e278..6b813f5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKeyFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/auth/UserAuthPublicKeyFactory.java
@@ -33,6 +33,7 @@ public class UserAuthPublicKeyFactory implements UserAuthFactory {
     public String getName() {
         return NAME;
     }
+
     @Override
     public UserAuth create() {
         return new UserAuthPublicKey();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
index c1e6fbe..a4b26c3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/AbstractClientChannel.java
@@ -193,7 +193,7 @@ public abstract class AbstractClientChannel extends AbstractChannel implements C
                 if ((cond & mask) != 0) {
                     if (log.isTraceEnabled()) {
                         log.trace("WaitFor call returning on channel {}, mask={}, cond={}",
-                                  new Object[] { this, Integer.valueOf(mask), Integer.valueOf(cond) });
+                                  this, mask, cond);
                     }
                     return cond;
                 }
@@ -210,7 +210,7 @@ public abstract class AbstractClientChannel extends AbstractChannel implements C
                 }
                 try {
                     if (log.isTraceEnabled()) {
-                        log.trace("Waiting for lock on channel {}, mask={}, cond={}", this, Integer.valueOf(mask), Integer.valueOf(cond));
+                        log.trace("Waiting for lock on channel {}, mask={}, cond={}", this, mask, cond);
                     }
                     if (timeout > 0) {
                         lock.wait(timeout);
@@ -337,7 +337,7 @@ public abstract class AbstractClientChannel extends AbstractChannel implements C
         @Override
         public Result process(Channel channel, String request, boolean wantReply, Buffer buffer) throws Exception {
             if ("exit-status".equals(request)) {
-                exitStatus = Integer.valueOf(buffer.getInt());
+                exitStatus = buffer.getInt();
                 notifyStateChanged();
                 return Result.ReplySuccess;
             }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
index d3eee76..8684bdc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/PtyCapableChannelSession.java
@@ -78,13 +78,13 @@ public class PtyCapableChannelSession extends ChannelSession {
                 private static final long serialVersionUID = 1L;    // we're not serializing it
 
                 {
-                    put(PtyMode.ISIG, Integer.valueOf(1));
-                    put(PtyMode.ICANON, Integer.valueOf(1));
-                    put(PtyMode.ECHO, Integer.valueOf(1));
-                    put(PtyMode.ECHOE, Integer.valueOf(1));
-                    put(PtyMode.ECHOK, Integer.valueOf(1));
-                    put(PtyMode.ECHONL, Integer.valueOf(0));
-                    put(PtyMode.NOFLSH, Integer.valueOf(0));
+                    put(PtyMode.ISIG, 1);
+                    put(PtyMode.ICANON, 1);
+                    put(PtyMode.ECHO, 1);
+                    put(PtyMode.ECHOE, 1);
+                    put(PtyMode.ECHOK, 1);
+                    put(PtyMode.ECHONL, 0);
+                    put(PtyMode.NOFLSH, 0);
                 }
             });
 
@@ -95,8 +95,8 @@ public class PtyCapableChannelSession extends ChannelSession {
     private int ptyLines = DEFAULT_ROWS_COUNT;
     private int ptyWidth = DEFAULT_WIDTH;
     private int ptyHeight = DEFAULT_HEIGHT;
-    private Map<PtyMode, Integer> ptyModes = new EnumMap<PtyMode, Integer>(PtyMode.class);
-    private final Map<String, String> env = new LinkedHashMap<String, String>();
+    private Map<PtyMode, Integer> ptyModes = new EnumMap<>(PtyMode.class);
+    private final Map<String, String> env = new LinkedHashMap<>();
 
     public PtyCapableChannelSession(boolean usePty) {
         this.usePty = usePty;
@@ -207,8 +207,8 @@ public class PtyCapableChannelSession extends ChannelSession {
         if (usePty) {
             if (log.isDebugEnabled()) {
                 log.debug("Send SSH_MSG_CHANNEL_REQUEST pty-req: type={}, cols={}, lines={}, height={}, width={}, modes={}",
-                          ptyType, Integer.valueOf(ptyColumns), Integer.valueOf(ptyLines),
-                          Integer.valueOf(ptyHeight), Integer.valueOf(ptyWidth), ptyModes);
+                          ptyType, ptyColumns, ptyLines,
+                          ptyHeight, ptyWidth, ptyModes);
             }
 
             buffer = session.createBuffer(SshConstants.SSH_MSG_CHANNEL_REQUEST);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
index c32ab84..3bc8a05 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/config/keys/ClientIdentity.java
@@ -281,7 +281,7 @@ public final class ClientIdentity {
      * <U>insensitive</U>), value=the {@link KeyPair} of the identity
      * @throws IOException If failed to access the file system
      * @throws GeneralSecurityException If failed to load the keys
-     * @see #scanIdentitiesFolder(Path, Collection, Transformer, LinkOption...)
+     * @see #scanIdentitiesFolder(Path, boolean, Collection, Transformer, LinkOption...)
      * @see IdentityUtils#loadIdentities(Map, FilePasswordProvider, OpenOption...)
      */
     public static Map<String,KeyPair> loadIdentities(

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
index 93005be..9a79045 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
@@ -79,7 +79,7 @@ public class DefaultAuthFuture extends DefaultSshFuture<AuthFuture> implements A
 
     @Override   // TODO for JDK-8 make this a default method
     public void setAuthed(boolean authed) {
-        setValue(Boolean.valueOf(authed));
+        setValue(authed);
     }
 
     @Override   // TODO for JDK-8 make this a default method

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 34854ec..f896a8d 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
@@ -265,7 +265,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkStatus(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkStatus(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
 
             if (substatus != SSH_FX_OK) {
@@ -285,7 +285,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkHandle(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkHandle(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
             throw new SftpException(substatus, msg);
         } else if (type == SSH_FXP_HANDLE) {
@@ -304,7 +304,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkAttributes(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkAttributes(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
             throw new SftpException(substatus, msg);
         } else if (type == SSH_FXP_ATTRS) {
@@ -323,7 +323,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkOneName(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkOneName(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
             throw new SftpException(substatus, msg);
         } else if (type == SSH_FXP_NAME) {
@@ -338,7 +338,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             }
             Attributes attrs = readAttributes(buffer);
             if (log.isTraceEnabled()) {
-                log.trace("checkOneName(id={}) ({})[{}]: {}", Integer.valueOf(id), name, longName, attrs);
+                log.trace("checkOneName(id={}) ({})[{}]: {}", id, name, longName, attrs);
             }
             return name;
         } else {
@@ -689,7 +689,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkData(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkData(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
 
             if (substatus == SSH_FX_EOF) {
@@ -792,7 +792,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("checkDir(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("checkDir(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
             if (substatus == SSH_FX_EOF) {
                 return null;
@@ -807,7 +807,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
                 String longName = (version == SFTP_V3) ? buffer.getString() : null;
                 Attributes attrs = readAttributes(buffer);
                 if (log.isTraceEnabled()) {
-                    log.trace("checkDir(id={})[{}] ({})[{}]: {}", Integer.valueOf(id), Integer.valueOf(i), name, longName, attrs);
+                    log.trace("checkDir(id={})[{}] ({})[{}]: {}", id, i, name, longName, attrs);
                 }
 
                 entries.add(new DirEntry(name, longName, attrs));

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 1d4ee38..12830d5 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
@@ -190,7 +190,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
         int id = buffer.getInt();
         buffer.rpos(0);
         synchronized (messages) {
-            messages.put(Integer.valueOf(id), buffer);
+            messages.put(id, buffer);
             messages.notifyAll();
         }
     }
@@ -214,7 +214,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
                 if (closing) {
                     throw new SshException("Channel has been closed");
                 }
-                Buffer buffer = messages.remove(Integer.valueOf(id));
+                Buffer buffer = messages.remove(id);
                 if (buffer != null) {
                     return buffer;
                 }
@@ -292,7 +292,7 @@ public class DefaultSftpClient extends AbstractSftpClient {
             String msg = buffer.getString();
             String lang = buffer.getString();
             if (log.isTraceEnabled()) {
-                log.trace("init(id={}) - status: {} [{}] {}", Integer.valueOf(id), Integer.valueOf(substatus), lang, msg);
+                log.trace("init(id={}) - status: {} [{}] {}", id, substatus, lang, msg);
             }
 
             throw new SftpException(substatus, msg);
@@ -308,24 +308,22 @@ public class DefaultSftpClient extends AbstractSftpClient {
      */
     public int negotiateVersion(SftpVersionSelector selector) throws IOException {
         int current = getVersion();
-        Set<Integer> available = GenericUtils.asSortedSet(Collections.singleton(Integer.valueOf(current)));
+        Set<Integer> available = GenericUtils.asSortedSet(Collections.singleton(current));
         Map<String,?> parsed = getParsedServerExtensions();
         Collection<String> extensions = ParserUtils.supportedExtensions(parsed);
-        if ((GenericUtils.size(extensions) > 0) && extensions.contains(SftpConstants.EXT_VERSELECT)) {
+        if (!GenericUtils.isEmpty(extensions) && extensions.contains(SftpConstants.EXT_VERSELECT)) {
             Versions vers = GenericUtils.isEmpty(parsed) ? null : (Versions) parsed.get(SftpConstants.EXT_VERSIONS);
             Collection<String> reported = (vers == null) ? null : vers.versions;
             if (GenericUtils.size(reported) > 0) {
                 for (String v : reported) {
-                    if (!available.add(Integer.valueOf(v))) {
-                        continue;
-                    }
+                    available.add(Integer.valueOf(v));
                 }
             }
         }
 
         int selected = selector.selectVersion(current, new ArrayList<>(available));
         if (log.isDebugEnabled()) {
-            log.debug("negotiateVersion({}) {} -> {}", Integer.valueOf(current), available, Integer.valueOf(selected));
+            log.debug("negotiateVersion({}) {} -> {}", current, available, selected);
         }
 
         if (selected == current) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 c9cf68a..598a2fe 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
@@ -73,7 +73,7 @@ public interface SftpClient extends SubsystemClient {
         CreateTime,
     }
 
-    public static class Handle {
+    class Handle {
         private final byte[] id;
 
         public Handle(byte[] id) {
@@ -126,13 +126,13 @@ public interface SftpClient extends SubsystemClient {
         }
     }
 
-    public static abstract class CloseableHandle extends Handle implements Channel, Closeable {
+    abstract class CloseableHandle extends Handle implements Channel, Closeable {
         protected CloseableHandle(byte[] id) {
             super(id);
         }
     }
 
-    public static class Attributes {
+    class Attributes {
         public final Set<Attribute> flags = EnumSet.noneOf(Attribute.class);
         public long size;
         public int type;
@@ -252,7 +252,7 @@ public interface SftpClient extends SubsystemClient {
         }
     }
 
-    public static class DirEntry {
+    class DirEntry {
         public String filename;
         public String longFilename;
         public Attributes attributes;
@@ -410,7 +410,6 @@ public interface SftpClient extends SubsystemClient {
 
     /**
      * @param extensionName The extension name
-     * @return The {@link SftpClientExtension} name - ignored if {@code null}/empty
      * @return The extension instance - <B>Note:</B> it is up to the caller
      * to invoke {@link SftpClientExtension#isSupported()} - {@code null} if
      * this extension type is not implemented by the client

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 39686f7..fea2b6b 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
@@ -371,7 +371,7 @@ public class SftpCommand implements Channel {
         }
     }
 
-    public static interface CommandExecutor extends NamedResource {
+    public interface CommandExecutor extends NamedResource {
         // return value is whether to stop running
         boolean executeCommand(String args, BufferedReader stdin, PrintStream stdout, PrintStream stderr) throws Exception; 
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 fa374ef..986f015 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
@@ -448,7 +448,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
         if (replaceExisting) {
             deleteIfExists(target);
         } else {
-            if (status.booleanValue()) {
+            if (status) {
                 throw new FileAlreadyExistsException(target.toString());
             }
         }
@@ -515,7 +515,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
 
         if (replaceExisting) {
             deleteIfExists(target);
-        } else if (status.booleanValue()) {
+        } else if (status) {
             throw new FileAlreadyExistsException(target.toString());
         }
 
@@ -813,19 +813,19 @@ public class SftpFileSystemProvider extends FileSystemProvider {
                     map.put(attr, v.creationTime());
                     break;
                 case "size":
-                    map.put(attr, Long.valueOf(v.size()));
+                    map.put(attr, v.size());
                     break;
                 case "isRegularFile":
-                    map.put(attr, Boolean.valueOf(v.isRegularFile()));
+                    map.put(attr, v.isRegularFile());
                     break;
                 case "isDirectory":
-                    map.put(attr, Boolean.valueOf(v.isDirectory()));
+                    map.put(attr, v.isDirectory());
                     break;
                 case "isSymbolicLink":
-                    map.put(attr, Boolean.valueOf(v.isSymbolicLink()));
+                    map.put(attr, v.isSymbolicLink());
                     break;
                 case "isOther":
-                    map.put(attr, Boolean.valueOf(v.isOther()));
+                    map.put(attr, v.isOther());
                     break;
                 case "fileKey":
                     map.put(attr, v.fileKey());
@@ -1097,7 +1097,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
             }
         }
 
-        return String.format("%04o", Integer.valueOf(pf));
+        return String.format("%04o", pf);
     }
 
     /**
@@ -1107,7 +1107,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
      * @return The unique identifier
      * @see #getFileSystemIdentifier(String, int, String)
      */
-    public static final String getFileSystemIdentifier(URI uri) {
+    public static String getFileSystemIdentifier(URI uri) {
         String userInfo = ValidateUtils.checkNotNullAndNotEmpty(uri.getUserInfo(), "UserInfo not provided");
         String[] ui = GenericUtils.split(userInfo, ':');
         ValidateUtils.checkTrue(GenericUtils.length(ui) == 2, "Invalid user info: %s", userInfo);
@@ -1120,7 +1120,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
      * @return The unique identifier
      * @see #getFileSystemIdentifier(String, int, String)
      */
-    public static final String getFileSystemIdentifier(ClientSession session) {
+    public static String getFileSystemIdentifier(ClientSession session) {
         IoSession ioSession = session.getIoSession();
         SocketAddress addr = ioSession.getRemoteAddress();
         String username = session.getUsername();
@@ -1132,15 +1132,13 @@ public class SftpFileSystemProvider extends FileSystemProvider {
         }
     }
 
-    public static final String getFileSystemIdentifier(String host, int port, String username) {
-        return new StringBuilder(GenericUtils.length(host) + 1 + /* port */ + 5 + 1 + GenericUtils.length(username))
-                .append(GenericUtils.trimToEmpty(host))
-                .append(':').append((port <= 0) ? SshConfigFileReader.DEFAULT_PORT : port)
-                .append(':').append(GenericUtils.trimToEmpty(username))
-                .toString();
+    public static String getFileSystemIdentifier(String host, int port, String username) {
+        return GenericUtils.trimToEmpty(host) + ':'
+                + ((port <= 0) ? SshConfigFileReader.DEFAULT_PORT : port) + ':'
+                + GenericUtils.trimToEmpty(username);
     }
 
-    public static final URI createFileSystemURI(String host, int port, String username, String password) {
+    public static URI createFileSystemURI(String host, int port, String username, String password) {
         return URI.create(SftpConstants.SFTP_SUBSYSTEM_NAME + "://" + username + ":" + password + "@" + host + ":" + port + "/");
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpPath.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpPath.java b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpPath.java
index f130d1a..91f5cda 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpPath.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpPath.java
@@ -33,9 +33,6 @@ public class SftpPath extends BasePath<SftpPath, SftpFileSystem> {
 
     @Override
     public SftpPath toRealPath(LinkOption... options) throws IOException {
-//        try (SftpClient client = fileSystem.getClient()) {
-//            client.realP
-//        }
         // TODO: handle links
         SftpPath absolute = toAbsolutePath();
         FileSystem fs = getFileSystem();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/BaseBuilder.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/BaseBuilder.java b/sshd-core/src/main/java/org/apache/sshd/common/BaseBuilder.java
index 9f16618..c79acbc 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/BaseBuilder.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/BaseBuilder.java
@@ -286,7 +286,7 @@ public class BaseBuilder<T extends AbstractFactoryManager, S extends BaseBuilder
      * MACs according to the <tt>ignoreUnsupported</tt> parameter
      * @see BuiltinMacs#isSupported()
      */
-    public static final List<NamedFactory<Mac>> setUpDefaultMacs(boolean ignoreUnsupported) {
+    public static List<NamedFactory<Mac>> setUpDefaultMacs(boolean ignoreUnsupported) {
         return NamedFactory.Utils.setUpBuiltinFactories(ignoreUnsupported, DEFAULT_MAC_PREFERENCE);
     }
     
@@ -316,7 +316,7 @@ public class BaseBuilder<T extends AbstractFactoryManager, S extends BaseBuilder
      * signatures according to the <tt>ignoreUnsupported</tt> parameter
      * @see BuiltinSignatures#isSupported()
      */
-    public static final List<NamedFactory<Signature>> setUpDefaultSignatures(boolean ignoreUnsupported) {
+    public static List<NamedFactory<Signature>> setUpDefaultSignatures(boolean ignoreUnsupported) {
         return NamedFactory.Utils.setUpBuiltinFactories(ignoreUnsupported, DEFAULT_SIGNATURE_PREFERENCE);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/FactoryManagerUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/FactoryManagerUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/FactoryManagerUtils.java
index ecfc04e..10ecbd9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/FactoryManagerUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/FactoryManagerUtils.java
@@ -36,7 +36,7 @@ public class FactoryManagerUtils {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final long getLongProperty(Session session, String name, long defaultValue) {
+    public static long getLongProperty(Session session, String name, long defaultValue) {
         return getLongProperty(session.getFactoryManager(), name, defaultValue);
     }
 
@@ -48,7 +48,7 @@ public class FactoryManagerUtils {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final long getLongProperty(FactoryManager manager, String name, long defaultValue) {
+    public static long getLongProperty(FactoryManager manager, String name, long defaultValue) {
         return getLongProperty(manager.getProperties(), name, defaultValue);
     }
 
@@ -60,12 +60,12 @@ public class FactoryManagerUtils {
      * @return The resolved property
      * @throws NumberFormatException if malformed value
      */
-    public static final long getLongProperty(Map<String,?> props, String name, long defaultValue) {
+    public static long getLongProperty(Map<String,?> props, String name, long defaultValue) {
         Object value = GenericUtils.isEmpty(props) ? null : props.get(name);
         if (value == null) {
             return defaultValue;
         } else if (value instanceof Long) {
-            return ((Long) value).longValue();
+            return (Long) value;
         } else {    // we parse the string in case it is not a valid long value
             return Long.parseLong(value.toString());
         }
@@ -77,7 +77,7 @@ public class FactoryManagerUtils {
      * @return The {@link Long} value or {@code null} if property not found or empty string
      * @throws NumberFormatException if malformed value
      */
-    public static final Long getLong(Session session, String name) {
+    public static Long getLong(Session session, String name) {
         return getLong(session.getFactoryManager(), name);
     }
 
@@ -87,7 +87,7 @@ public class FactoryManagerUtils {
      * @return The {@link Long} value or {@code null} if property not found
      * @throws NumberFormatException if malformed value
      */
-    public static final Long getLong(FactoryManager manager, String name) {
+    public static Long getLong(FactoryManager manager, String name) {
         return getLong(manager.getProperties(), name);
     }
 
@@ -98,7 +98,7 @@ public class FactoryManagerUtils {
      * empty string
      * @throws NumberFormatException if malformed value
      */
-    public static final Long getLong(Map<String,?> props, String name) {
+    public static Long getLong(Map<String,?> props, String name) {
         Object value = GenericUtils.isEmpty(props) ? null : props.get(name);
         if (value == null) {
             return null;
@@ -109,46 +109,46 @@ public class FactoryManagerUtils {
         }
     }
 
-    public static final Object updateProperty(Session session, String name, long value) {
+    public static Object updateProperty(Session session, String name, long value) {
         return updateProperty(session, name, Long.toString(value));
     }
 
-    public static final Object updateProperty(FactoryManager manager, String name, long value) {
+    public static Object updateProperty(FactoryManager manager, String name, long value) {
         return updateProperty(manager.getProperties(), name, value);
     }
 
-    public static final Object updateProperty(Map<String,Object> props, String name, long value) {
+    public static Object updateProperty(Map<String,Object> props, String name, long value) {
         return updateProperty(props, name, Long.valueOf(value));
     }
 
-    public static final int getIntProperty(Session session, String name, int defaultValue) {
+    public static int getIntProperty(Session session, String name, int defaultValue) {
         return getIntProperty(session.getFactoryManager(), name, defaultValue);
     }
 
-    public static final int getIntProperty(FactoryManager manager, String name, int defaultValue) {
+    public static int getIntProperty(FactoryManager manager, String name, int defaultValue) {
         return getIntProperty(manager.getProperties(), name, defaultValue);
     }
 
-    public static final int getIntProperty(Map<String,?> props, String name, int defaultValue) {
+    public static int getIntProperty(Map<String,?> props, String name, int defaultValue) {
         Object value = GenericUtils.isEmpty(props) ? null : props.get(name);
         if (value == null) {
             return defaultValue;
         } else if (value instanceof Integer) {
-            return ((Integer) value).intValue();
+            return (Integer) value;
         } else {    // we parse the string in case this is NOT an integer
             return Integer.parseInt(value.toString());
         }
     }
 
-    public static final Integer getInteger(Session session, String name) {
+    public static Integer getInteger(Session session, String name) {
         return getInteger(session.getFactoryManager(), name);
     }
 
-    public static final Integer getInteger(FactoryManager manager, String name) {
+    public static Integer getInteger(FactoryManager manager, String name) {
         return getInteger(manager.getProperties(), name);
     }
 
-    public static final Integer getInteger(Map<String,?> props, String name) {
+    public static Integer getInteger(Map<String,?> props, String name) {
         Object value = GenericUtils.isEmpty(props) ? null : props.get(name);
         if (value == null) {
             return null;
@@ -159,44 +159,44 @@ public class FactoryManagerUtils {
         }
     }
 
-    public static final Object updateProperty(Session session, String name, int value) {
+    public static Object updateProperty(Session session, String name, int value) {
         return updateProperty(session.getFactoryManager(), name, value);
     }
 
-    public static final Object updateProperty(FactoryManager manager, String name, int value) {
+    public static Object updateProperty(FactoryManager manager, String name, int value) {
         return updateProperty(manager.getProperties(), name, value);
     }
 
-    public static final Object updateProperty(Map<String,Object> props, String name, int value) {
+    public static Object updateProperty(Map<String,Object> props, String name, int value) {
         return updateProperty(props, name, Integer.valueOf(value));
     }
 
-    public static final boolean getBooleanProperty(Session session, String name, boolean defaultValue) {
+    public static boolean getBooleanProperty(Session session, String name, boolean defaultValue) {
         return getBooleanProperty(session.getFactoryManager(), name, defaultValue);
     }
 
-    public static final boolean getBooleanProperty(FactoryManager manager, String name, boolean defaultValue) {
+    public static boolean getBooleanProperty(FactoryManager manager, String name, boolean defaultValue) {
         return getBooleanProperty(manager.getProperties(), name, defaultValue);
     }
 
-    public static final boolean getBooleanProperty(Map<String,?> props, String name, boolean defaultValue) {
+    public static boolean getBooleanProperty(Map<String,?> props, String name, boolean defaultValue) {
         Boolean value = getBoolean(props, name);
         if (value == null) {
             return defaultValue;
         } else {
-            return value.booleanValue();
+            return value;
         }
     }
 
-    public static final Boolean getBoolean(Session session, String name) {
+    public static Boolean getBoolean(Session session, String name) {
         return getBoolean(session.getFactoryManager(), name);
     }
 
-    public static final Boolean getBoolean(FactoryManager manager, String name) {
+    public static Boolean getBoolean(FactoryManager manager, String name) {
         return getBoolean(manager.getProperties(), name);
     }
 
-    public static final Boolean getBoolean(Map<String,?> props, String name) {
+    public static Boolean getBoolean(Map<String,?> props, String name) {
         Object  value = GenericUtils.isEmpty(props) ? null : props.get(name);
         if (value == null) {
             return null;
@@ -207,39 +207,39 @@ public class FactoryManagerUtils {
         }
     }
 
-    public static final Object updateProperty(Session session, String name, boolean value) {
+    public static Object updateProperty(Session session, String name, boolean value) {
         return updateProperty(session.getFactoryManager(), name, value);
     }
 
-    public static final Object updateProperty(FactoryManager manager, String name, boolean value) {
+    public static Object updateProperty(FactoryManager manager, String name, boolean value) {
         return updateProperty(manager.getProperties(), name, value);
     }
 
-    public static final Object updateProperty(Map<String,Object> props, String name, boolean value) {
+    public static Object updateProperty(Map<String,Object> props, String name, boolean value) {
         return updateProperty(props, name, Boolean.valueOf(value));
     }
 
-    public static final String getString(Session session, String name) {
+    public static String getString(Session session, String name) {
         return getStringProperty(session, name, null);
     }
 
-    public static final String getStringProperty(Session session, String name, String defaultValue) {
+    public static String getStringProperty(Session session, String name, String defaultValue) {
         return getStringProperty(session.getFactoryManager(), name, defaultValue);
     }
 
-    public static final String getString(FactoryManager manager, String name) {
+    public static String getString(FactoryManager manager, String name) {
         return getStringProperty(manager, name, null);
     }
 
-    public static final String getStringProperty(FactoryManager manager, String name, String defaultValue) {
+    public static String getStringProperty(FactoryManager manager, String name, String defaultValue) {
         return getStringProperty(manager.getProperties(), name, defaultValue);
     }
 
-    public static final String getString(Map<String,?> props, String name) {
+    public static String getString(Map<String,?> props, String name) {
         return getStringProperty(props, name, null);
     }
 
-    public static final String getStringProperty(Map<String,?> props, String name, String defaultValue) {
+    public static String getStringProperty(Map<String,?> props, String name, String defaultValue) {
         Object value = GenericUtils.isEmpty(props) ? null : props.get(name);
         String s = (value == null) ? null : value.toString();
         if (GenericUtils.isEmpty(s)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
index 321f1eb..647fbbf 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/NamedFactory.java
@@ -34,7 +34,7 @@ public interface NamedFactory<T> extends Factory<T>, NamedResource {
     /**
      * Utility class to help using NamedFactories
      */
-    public static final class Utils {
+    final class Utils {
         /**
          * Create an instance of the specified name by looking up the needed factory
          * in the list.
@@ -52,7 +52,7 @@ public interface NamedFactory<T> extends Factory<T>, NamedResource {
             }
         }
 
-        public static final <S extends OptionalFeature,T,E extends NamedFactory<T>> List<NamedFactory<T>> setUpTransformedFactories(
+        public static <S extends OptionalFeature,T,E extends NamedFactory<T>> List<NamedFactory<T>> setUpTransformedFactories(
                 boolean ignoreUnsupported, Collection<? extends S> preferred, Transformer<? super S,? extends E> xform) {
             List<NamedFactory<T>>   avail=new ArrayList<>(preferred.size());
             for (S f : preferred) {
@@ -64,7 +64,7 @@ public interface NamedFactory<T> extends Factory<T>, NamedResource {
             return avail;
         }
 
-        public static final <T,E extends NamedFactory<T> & OptionalFeature> List<NamedFactory<T>> setUpBuiltinFactories(
+        public static <T,E extends NamedFactory<T> & OptionalFeature> List<NamedFactory<T>> setUpBuiltinFactories(
                 boolean ignoreUnsupported, Collection<? extends E> preferred) {
             List<NamedFactory<T>>   avail=new ArrayList<>(preferred.size());
             for (E f : preferred) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/NamedResource.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/NamedResource.java b/sshd-core/src/main/java/org/apache/sshd/common/NamedResource.java
index 08da1c5..6c59134 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/NamedResource.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/NamedResource.java
@@ -66,7 +66,7 @@ public interface NamedResource {
     /**
      * Utility class to help using {@link NamedResource}s
      */
-    public static final class Utils {
+    final class Utils {
         /**
          * @param resources The named resources
          * @return A {@link List} of all the factories names - in same order

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/Service.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/Service.java b/sshd-core/src/main/java/org/apache/sshd/common/Service.java
index a70de53..054816b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/Service.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/Service.java
@@ -43,12 +43,4 @@ public interface Service extends Closeable {
      */
     void process(int cmd, Buffer buffer) throws Exception;
 
-    /**
-     * Close the service.
-     * @param immediately
-     *
-     */
-    @Override
-    CloseFuture close(boolean immediately);
-
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/ServiceFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/ServiceFactory.java b/sshd-core/src/main/java/org/apache/sshd/common/ServiceFactory.java
index 60dc1e3..c2be440 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/ServiceFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/ServiceFactory.java
@@ -29,7 +29,7 @@ public interface ServiceFactory extends NamedResource {
     /**
      * Utility class to help using NamedFactories
      */
-    public static class Utils {
+    class Utils {
         /**
          * Create an instance of the specified name by looking up the needed factory
          * in the list (case <U>insensitive</U>.

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
index 008e66a..606e774 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshConstants.java
@@ -24,90 +24,90 @@ package org.apache.sshd.common;
  *
  * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
  */
-public interface SshConstants {
+public final class SshConstants {
 
     //
     // SSH message identifiers
     //
 
-    static final byte SSH_MSG_DISCONNECT=                      1;
-    static final byte SSH_MSG_IGNORE=                          2;
-    static final byte SSH_MSG_UNIMPLEMENTED=                   3;
-    static final byte SSH_MSG_DEBUG=                           4;
-    static final byte SSH_MSG_SERVICE_REQUEST=                 5;
-    static final byte SSH_MSG_SERVICE_ACCEPT=                  6;
-    static final byte SSH_MSG_KEXINIT=                        20;
-        static final int MSG_KEX_COOKIE_SIZE = 16;
-    static final byte SSH_MSG_NEWKEYS=                        21;
-
-    static final byte SSH_MSG_KEX_FIRST=                      30;
-    static final byte SSH_MSG_KEX_LAST=                       49;
-
-    static final byte SSH_MSG_KEXDH_INIT=                     30;
-    static final byte SSH_MSG_KEXDH_REPLY=                    31;
-
-    static final byte SSH_MSG_KEX_DH_GEX_REQUEST_OLD=         30;
-    static final byte SSH_MSG_KEX_DH_GEX_GROUP=               31;
-    static final byte SSH_MSG_KEX_DH_GEX_INIT=                32;
-    static final byte SSH_MSG_KEX_DH_GEX_REPLY=               33;
-    static final byte SSH_MSG_KEX_DH_GEX_REQUEST=             34;
-
-    static final byte SSH_MSG_USERAUTH_REQUEST=               50;
-    static final byte SSH_MSG_USERAUTH_FAILURE=               51;
-    static final byte SSH_MSG_USERAUTH_SUCCESS=               52;
-    static final byte SSH_MSG_USERAUTH_BANNER=                53;
-
-    static final byte SSH_MSG_USERAUTH_INFO_REQUEST=          60;
-    static final byte SSH_MSG_USERAUTH_INFO_RESPONSE=         61;
-
-    static final byte SSH_MSG_USERAUTH_PK_OK=                 60;
-
-    static final byte SSH_MSG_USERAUTH_PASSWD_CHANGEREQ=      60;
-
-    static final byte SSH_MSG_USERAUTH_GSSAPI_MIC=            66;
-
-    static final byte SSH_MSG_GLOBAL_REQUEST=                 80;
-    static final byte SSH_MSG_REQUEST_SUCCESS=                81;
-    static final byte SSH_MSG_REQUEST_FAILURE=                82;
-    static final byte SSH_MSG_CHANNEL_OPEN=                   90;
-    static final byte SSH_MSG_CHANNEL_OPEN_CONFIRMATION=      91;
-    static final byte SSH_MSG_CHANNEL_OPEN_FAILURE=           92;
-    static final byte SSH_MSG_CHANNEL_WINDOW_ADJUST=          93;
-    static final byte SSH_MSG_CHANNEL_DATA=                   94;
-    static final byte SSH_MSG_CHANNEL_EXTENDED_DATA=          95;
-    static final byte SSH_MSG_CHANNEL_EOF=                    96;
-    static final byte SSH_MSG_CHANNEL_CLOSE=                  97;
-    static final byte SSH_MSG_CHANNEL_REQUEST=                98;
-    static final byte SSH_MSG_CHANNEL_SUCCESS=                99;
-    static final byte SSH_MSG_CHANNEL_FAILURE=               100;
+    public static final byte SSH_MSG_DISCONNECT=                      1;
+    public static final byte SSH_MSG_IGNORE=                          2;
+    public static final byte SSH_MSG_UNIMPLEMENTED=                   3;
+    public static final byte SSH_MSG_DEBUG=                           4;
+    public static final byte SSH_MSG_SERVICE_REQUEST=                 5;
+    public static final byte SSH_MSG_SERVICE_ACCEPT=                  6;
+    public static final byte SSH_MSG_KEXINIT=                        20;
+        public static final int MSG_KEX_COOKIE_SIZE = 16;
+    public static final byte SSH_MSG_NEWKEYS=                        21;
+
+    public static final byte SSH_MSG_KEX_FIRST=                      30;
+    public static final byte SSH_MSG_KEX_LAST=                       49;
+
+    public static final byte SSH_MSG_KEXDH_INIT=                     30;
+    public static final byte SSH_MSG_KEXDH_REPLY=                    31;
+
+    public static final byte SSH_MSG_KEX_DH_GEX_REQUEST_OLD=         30;
+    public static final byte SSH_MSG_KEX_DH_GEX_GROUP=               31;
+    public static final byte SSH_MSG_KEX_DH_GEX_INIT=                32;
+    public static final byte SSH_MSG_KEX_DH_GEX_REPLY=               33;
+    public static final byte SSH_MSG_KEX_DH_GEX_REQUEST=             34;
+
+    public static final byte SSH_MSG_USERAUTH_REQUEST=               50;
+    public static final byte SSH_MSG_USERAUTH_FAILURE=               51;
+    public static final byte SSH_MSG_USERAUTH_SUCCESS=               52;
+    public static final byte SSH_MSG_USERAUTH_BANNER=                53;
+
+    public static final byte SSH_MSG_USERAUTH_INFO_REQUEST=          60;
+    public static final byte SSH_MSG_USERAUTH_INFO_RESPONSE=         61;
+
+    public static final byte SSH_MSG_USERAUTH_PK_OK=                 60;
+
+    public static final byte SSH_MSG_USERAUTH_PASSWD_CHANGEREQ=      60;
+
+    public static final byte SSH_MSG_USERAUTH_GSSAPI_MIC=            66;
+
+    public static final byte SSH_MSG_GLOBAL_REQUEST=                 80;
+    public static final byte SSH_MSG_REQUEST_SUCCESS=                81;
+    public static final byte SSH_MSG_REQUEST_FAILURE=                82;
+    public static final byte SSH_MSG_CHANNEL_OPEN=                   90;
+    public static final byte SSH_MSG_CHANNEL_OPEN_CONFIRMATION=      91;
+    public static final byte SSH_MSG_CHANNEL_OPEN_FAILURE=           92;
+    public static final byte SSH_MSG_CHANNEL_WINDOW_ADJUST=          93;
+    public static final byte SSH_MSG_CHANNEL_DATA=                   94;
+    public static final byte SSH_MSG_CHANNEL_EXTENDED_DATA=          95;
+    public static final byte SSH_MSG_CHANNEL_EOF=                    96;
+    public static final byte SSH_MSG_CHANNEL_CLOSE=                  97;
+    public static final byte SSH_MSG_CHANNEL_REQUEST=                98;
+    public static final byte SSH_MSG_CHANNEL_SUCCESS=                99;
+    public static final byte SSH_MSG_CHANNEL_FAILURE=               100;
 
     //
     // Disconnect error codes
     //
-    static final int SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT =     1;
-    static final int SSH2_DISCONNECT_PROTOCOL_ERROR =                  2;
-    static final int SSH2_DISCONNECT_KEY_EXCHANGE_FAILED =             3;
-    static final int SSH2_DISCONNECT_HOST_AUTHENTICATION_FAILED =      4;
-    static final int SSH2_DISCONNECT_RESERVED =                        4;
-    static final int SSH2_DISCONNECT_MAC_ERROR =                       5;
-    static final int SSH2_DISCONNECT_COMPRESSION_ERROR =               6;
-    static final int SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE =           7;
-    static final int SSH2_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED =  8;
-    static final int SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE =         9;
-    static final int SSH2_DISCONNECT_CONNECTION_LOST =                10;
-    static final int SSH2_DISCONNECT_BY_APPLICATION =                 11;
-    static final int SSH2_DISCONNECT_TOO_MANY_CONNECTIONS =           12;
-    static final int SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER =         13;
-    static final int SSH2_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE = 14;
-    static final int SSH2_DISCONNECT_ILLEGAL_USER_NAME =              15;
+    public static final int SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT =     1;
+    public static final int SSH2_DISCONNECT_PROTOCOL_ERROR =                  2;
+    public static final int SSH2_DISCONNECT_KEY_EXCHANGE_FAILED =             3;
+    public static final int SSH2_DISCONNECT_HOST_AUTHENTICATION_FAILED =      4;
+    public static final int SSH2_DISCONNECT_RESERVED =                        4;
+    public static final int SSH2_DISCONNECT_MAC_ERROR =                       5;
+    public static final int SSH2_DISCONNECT_COMPRESSION_ERROR =               6;
+    public static final int SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE =           7;
+    public static final int SSH2_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED =  8;
+    public static final int SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE =         9;
+    public static final int SSH2_DISCONNECT_CONNECTION_LOST =                10;
+    public static final int SSH2_DISCONNECT_BY_APPLICATION =                 11;
+    public static final int SSH2_DISCONNECT_TOO_MANY_CONNECTIONS =           12;
+    public static final int SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER =         13;
+    public static final int SSH2_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE = 14;
+    public static final int SSH2_DISCONNECT_ILLEGAL_USER_NAME =              15;
 
     //
     // Open error codes
     //
 
-    static final int SSH_OPEN_ADMINISTRATIVELY_PROHIBITED=     1;
-    static final int SSH_OPEN_CONNECT_FAILED=                  2;
-    static final int SSH_OPEN_UNKNOWN_CHANNEL_TYPE=            3;
-    static final int SSH_OPEN_RESOURCE_SHORTAGE=               4;
+    public static final int SSH_OPEN_ADMINISTRATIVELY_PROHIBITED=     1;
+    public static final int SSH_OPEN_CONNECT_FAILED=                  2;
+    public static final int SSH_OPEN_UNKNOWN_CHANNEL_TYPE=            3;
+    public static final int SSH_OPEN_RESOURCE_SHORTAGE=               4;
 
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 8a91309..783cd17 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
@@ -58,7 +58,7 @@ public abstract class AbstractChannel
 
     public static final long DEFAULT_CHANNEL_CLOSE_TIMEOUT = 5000;
 
-    protected static enum GracefulState {
+    protected enum GracefulState {
         Opened, CloseSent, CloseReceived, Closed
     }
 
@@ -137,7 +137,7 @@ public abstract class AbstractChannel
         String req = buffer.getString();
         boolean wantReply = buffer.getBoolean();
         if (log.isDebugEnabled()) {
-            log.debug("Received SSH_MSG_CHANNEL_REQUEST {} on channel {} (wantReply {})", new Object[] { req, this, Boolean.valueOf(wantReply) });
+            log.debug("Received SSH_MSG_CHANNEL_REQUEST {} on channel {} (wantReply {})", req, this, wantReply);
         }
         for (RequestHandler<Channel> handler : handlers) {
             RequestHandler.Result result;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 bad2831..6dcb31b 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
@@ -112,7 +112,7 @@ public class ChannelAsyncInputStream extends CloseableUtils.AbstractCloseable im
             } catch (IOException e) {
                 channel.getSession().exceptionCaught(e);
             }
-            future.setValue(Integer.valueOf(nbRead));
+            future.setValue(nbRead);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/channel/PtyMode.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/PtyMode.java b/sshd-core/src/main/java/org/apache/sshd/common/channel/PtyMode.java
index b320482..bd2bdbd 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/PtyMode.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/PtyMode.java
@@ -53,7 +53,7 @@ public enum PtyMode {
 
     private int v;
 
-    private PtyMode(int v) {
+    PtyMode(int v) {
         this.v = v;
     }
 
@@ -69,12 +69,12 @@ public enum PtyMode {
                     
                     {
                         for (PtyMode c : PtyMode.values()) {
-                            put(Integer.valueOf(c.toInt()), c);
+                            put(c.toInt(), c);
                         }
                     }
             });
 
     public static PtyMode fromInt(int b) {
-        return commands.get(Integer.valueOf(0x00FF & (b + 256)));
+        return commands.get(0x00FF & (b + 0x100));
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/channel/SttySupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/channel/SttySupport.java b/sshd-core/src/main/java/org/apache/sshd/common/channel/SttySupport.java
index 35d85c5..f6f2527 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/channel/SttySupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/channel/SttySupport.java
@@ -55,12 +55,12 @@ public class SttySupport {
                         v = findChar(stty, "rprnt");
                     }
                     if (v >= 0) {
-                        modes.put(mode, Integer.valueOf(v));
+                        modes.put(mode, v);
                     }
                 } else {
                     int v = findFlag(stty, str);
                     if (v >= 0) {
-                        modes.put(mode, Integer.valueOf(v));
+                        modes.put(mode, v);
                     }
                 }
             }
@@ -102,7 +102,7 @@ public class SttySupport {
                 continue;
             }
             String val = stty.substring(idx2 + 1, idx3 < 0 ? stty.length() : idx3).trim();
-            if (val.indexOf("undef") >= 0) {
+            if (val.contains("undef")) {
                 return -1;
             }
             if (val.length() == 2 && val.charAt(0) == '^') {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 6df4d4d..5a7f3ee 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
@@ -167,7 +167,7 @@ public enum BuiltinCiphers implements CipherFactory {
         return new BaseCipher(getIVSize(), getBlockSize(), getAlgorithm(), getTransformation());
     }
 
-    public static final Set<BuiltinCiphers> VALUES =
+    public static Set<BuiltinCiphers> VALUES =
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinCiphers.class));
     private static final Map<String,CipherFactory>   extensions =
             new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
@@ -180,7 +180,7 @@ public enum BuiltinCiphers implements CipherFactory {
      * or overrides a built-in one or overrides another registered factory
      * with the same name (case <U>insensitive</U>).
      */
-    public static final void registerExtension(CipherFactory extension) {
+    public static void registerExtension(CipherFactory extension) {
         String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
@@ -194,7 +194,7 @@ public enum BuiltinCiphers implements CipherFactory {
      * @return A {@link SortedSet} of the currently registered extensions, sorted
      * according to the factory name (case <U>insensitive</U>)
      */
-    public static final SortedSet<CipherFactory> getRegisteredExtensions() {
+    public static SortedSet<CipherFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
         synchronized(extensions) {
             return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
@@ -206,7 +206,7 @@ public enum BuiltinCiphers implements CipherFactory {
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
-    public static final NamedFactory<Cipher> unregisterExtension(String name) {
+    public static NamedFactory<Cipher> unregisterExtension(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -265,15 +265,15 @@ public enum BuiltinCiphers implements CipherFactory {
      * factories and the unknown ones. <B>Note:</B> it is up to caller to
      * ensure that the lists do not contain duplicates
      */
-    public static final ParseResult parseCiphersList(String ciphers) {
+    public static ParseResult parseCiphersList(String ciphers) {
         return parseCiphersList(GenericUtils.split(ciphers, ','));
     }
 
-    public static final ParseResult parseCiphersList(String ... ciphers) {
+    public static ParseResult parseCiphersList(String ... ciphers) {
         return parseCiphersList(GenericUtils.isEmpty((Object[]) ciphers) ? Collections.<String>emptyList() : Arrays.asList(ciphers));
     }
 
-    public static final ParseResult parseCiphersList(Collection<String> ciphers) {
+    public static ParseResult parseCiphersList(Collection<String> ciphers) {
         if (GenericUtils.isEmpty(ciphers)) {
             return ParseResult.EMPTY;
         }
@@ -301,7 +301,7 @@ public enum BuiltinCiphers implements CipherFactory {
      * @return The factory or {@code null} if it is neither a built-in one
      * or a registered extension 
      */
-    public static final CipherFactory resolveFactory(String name) {
+    public static CipherFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -320,24 +320,24 @@ public enum BuiltinCiphers implements CipherFactory {
      * Holds the result of {@link BuiltinCiphers#parseCiphersList(String)}
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
-    public static final class ParseResult extends NamedFactoriesListParseResult<Cipher,CipherFactory> {
-        public static final ParseResult EMPTY=new ParseResult(Collections.<CipherFactory>emptyList(), Collections.<String>emptyList());
+    public static class ParseResult extends NamedFactoriesListParseResult<Cipher,CipherFactory> {
+        public static ParseResult EMPTY=new ParseResult(Collections.<CipherFactory>emptyList(), Collections.<String>emptyList());
         
         public ParseResult(List<CipherFactory> parsed, List<String> unsupported) {
             super(parsed, unsupported);
         }
     }
 
-    public static final class Constants {
-        public static final String NONE = "none";
-        public static final Pattern NONE_CIPHER_PATTERN =
+    public static class Constants {
+        public static String NONE = "none";
+        public static Pattern NONE_CIPHER_PATTERN =
                 Pattern.compile("(^|.*,)" + NONE + "($|,.*)");
 
         /**
          * @param s A comma-separated list of ciphers - ignored if {@code null}/empty
          * @return {@code true} if the {@link #NONE} cipher name appears in it
          */
-        public static final boolean isNoneCipherIncluded(String s) {
+        public static boolean isNoneCipherIncluded(String s) {
             if (GenericUtils.isEmpty(s)) {
                 return false;
             }
@@ -350,15 +350,15 @@ public enum BuiltinCiphers implements CipherFactory {
             }
         }
 
-        public static final String AES128_CBC = "aes128-cbc";
-        public static final String AES128_CTR = "aes128-ctr";
-        public static final String AES192_CBC = "aes192-cbc";
-        public static final String AES192_CTR = "aes192-ctr";
-        public static final String AES256_CBC = "aes256-cbc";
-        public static final String AES256_CTR = "aes256-ctr";
-        public static final String ARCFOUR128 = "arcfour128";
-        public static final String ARCFOUR256 = "arcfour256";
-        public static final String BLOWFISH_CBC = "blowfish-cbc";
-        public static final String TRIPLE_DES_CBC = "3des-cbc";
+        public static String AES128_CBC = "aes128-cbc";
+        public static String AES128_CTR = "aes128-ctr";
+        public static String AES192_CBC = "aes192-cbc";
+        public static String AES192_CTR = "aes192-ctr";
+        public static String AES256_CBC = "aes256-cbc";
+        public static String AES256_CTR = "aes256-ctr";
+        public static String ARCFOUR128 = "arcfour128";
+        public static String ARCFOUR256 = "arcfour256";
+        public static String BLOWFISH_CBC = "blowfish-cbc";
+        public static String TRIPLE_DES_CBC = "3des-cbc";
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/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 16933e5..42a5335 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
@@ -80,7 +80,7 @@ public enum BuiltinCompressions implements CompressionFactory {
         name = n;
     }
 
-    public static final Set<BuiltinCompressions> VALUES =
+    public static Set<BuiltinCompressions> VALUES =
             Collections.unmodifiableSet(EnumSet.allOf(BuiltinCompressions.class));
     private static final Map<String,CompressionFactory>   extensions =
             new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
@@ -93,7 +93,7 @@ public enum BuiltinCompressions implements CompressionFactory {
      * or overrides a built-in one or overrides another registered factory
      * with the same name (case <U>insensitive</U>).
      */
-    public static final void registerExtension(CompressionFactory extension) {
+    public static void registerExtension(CompressionFactory extension) {
         String  name=ValidateUtils.checkNotNull(extension, "No extension provided").getName();
         ValidateUtils.checkTrue(fromFactoryName(name) == null, "Extension overrides built-in: %s", name);
 
@@ -107,7 +107,7 @@ public enum BuiltinCompressions implements CompressionFactory {
      * @return A {@link SortedSet} of the currently registered extensions, sorted
      * according to the factory name (case <U>insensitive</U>)
      */
-    public static final SortedSet<CompressionFactory> getRegisteredExtensions() {
+    public static SortedSet<CompressionFactory> getRegisteredExtensions() {
         // TODO for JDK-8 return Collections.emptySortedSet()
         synchronized(extensions) {
             return GenericUtils.asSortedSet(NamedResource.BY_NAME_COMPARATOR, extensions.values());
@@ -119,7 +119,7 @@ public enum BuiltinCompressions implements CompressionFactory {
      * @param name The factory name - ignored if {@code null}/empty
      * @return The registered extension - {@code null} if not found
      */
-    public static final CompressionFactory unregisterExtension(String name) {
+    public static CompressionFactory unregisterExtension(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -129,7 +129,7 @@ public enum BuiltinCompressions implements CompressionFactory {
         }
     }
 
-    public static final BuiltinCompressions fromFactoryName(String name) {
+    public static BuiltinCompressions fromFactoryName(String name) {
         return NamedResource.Utils.findByName(name, String.CASE_INSENSITIVE_ORDER, VALUES);
     }
 
@@ -140,15 +140,15 @@ public enum BuiltinCompressions implements CompressionFactory {
      * factories and the unknown ones. <B>Note:</B> it is up to caller to
      * ensure that the lists do not contain duplicates
      */
-    public static final ParseResult parseCompressionsList(String Compressions) {
+    public static ParseResult parseCompressionsList(String Compressions) {
         return parseCompressionsList(GenericUtils.split(Compressions, ','));
     }
 
-    public static final ParseResult parseCompressionsList(String ... Compressions) {
+    public static ParseResult parseCompressionsList(String ... Compressions) {
         return parseCompressionsList(GenericUtils.isEmpty((Object[]) Compressions) ? Collections.<String>emptyList() : Arrays.asList(Compressions));
     }
 
-    public static final ParseResult parseCompressionsList(Collection<String> Compressions) {
+    public static ParseResult parseCompressionsList(Collection<String> Compressions) {
         if (GenericUtils.isEmpty(Compressions)) {
             return ParseResult.EMPTY;
         }
@@ -176,7 +176,7 @@ public enum BuiltinCompressions implements CompressionFactory {
      * @return The factory or {@code null} if it is neither a built-in one
      * or a registered extension 
      */
-    public static final CompressionFactory resolveFactory(String name) {
+    public static CompressionFactory resolveFactory(String name) {
         if (GenericUtils.isEmpty(name)) {
             return null;
         }
@@ -195,17 +195,17 @@ public enum BuiltinCompressions implements CompressionFactory {
      * Holds the result of {@link BuiltinCompressions#parseCompressionsList(String)}
      * @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
      */
-    public static final class ParseResult extends NamedFactoriesListParseResult<Compression,CompressionFactory> {
-        public static final ParseResult EMPTY=new ParseResult(Collections.<CompressionFactory>emptyList(), Collections.<String>emptyList());
+    public static class ParseResult extends NamedFactoriesListParseResult<Compression,CompressionFactory> {
+        public static ParseResult EMPTY=new ParseResult(Collections.<CompressionFactory>emptyList(), Collections.<String>emptyList());
         
         public ParseResult(List<CompressionFactory> parsed, List<String> unsupported) {
             super(parsed, unsupported);
         }
     }
 
-    public static final class Constants {
-        public static final String  NONE="none";
-        public static final String  ZLIB="zlib";
-        public static final String  DELAYED_ZLIB="zlib@openssh.com";
+    public static class Constants {
+        public static String  NONE="none";
+        public static String  ZLIB="zlib";
+        public static String  DELAYED_ZLIB="zlib@openssh.com";
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java b/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
index 38ea52f..12abc4b 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/compression/Compression.java
@@ -56,8 +56,8 @@ public interface Compression {
      * <code>compress</code> or <code>uncompress</code> methods can be
      * called.
      *
-     * @param type
-     * @param level
+     * @param type compression type
+     * @param level compression level
      */
     void init(Type type, int level);
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/AllowTcpForwardingValue.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/AllowTcpForwardingValue.java b/sshd-core/src/main/java/org/apache/sshd/common/config/AllowTcpForwardingValue.java
index 85383fb..ace4741 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/AllowTcpForwardingValue.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/AllowTcpForwardingValue.java
@@ -37,8 +37,9 @@ public enum AllowTcpForwardingValue {
 
     public static final Set<AllowTcpForwardingValue>    VALUES=
             Collections.unmodifiableSet(EnumSet.allOf(AllowTcpForwardingValue.class));
+
     // NOTE: it also interprets "yes" as "all" and "no" as "none"
-    public static final AllowTcpForwardingValue fromString(String s) {
+    public static AllowTcpForwardingValue fromString(String s) {
         if (GenericUtils.isEmpty(s)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/CompressionConfigValue.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/CompressionConfigValue.java b/sshd-core/src/main/java/org/apache/sshd/common/config/CompressionConfigValue.java
index fcad285..936d052 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/CompressionConfigValue.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/CompressionConfigValue.java
@@ -68,7 +68,7 @@ public enum CompressionConfigValue implements CompressionFactory {
     public static final Set<CompressionConfigValue> VALUES=
             Collections.unmodifiableSet(EnumSet.allOf(CompressionConfigValue.class));
 
-    public static final CompressionConfigValue fromName(String n) {
+    public static CompressionConfigValue fromName(String n) {
         if (GenericUtils.isEmpty(n)) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/1c80bb65/sshd-core/src/main/java/org/apache/sshd/common/config/LogLevelValue.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/config/LogLevelValue.java b/sshd-core/src/main/java/org/apache/sshd/common/config/LogLevelValue.java
index 168c91e..cd59caa 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/config/LogLevelValue.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/config/LogLevelValue.java
@@ -39,7 +39,8 @@ public enum LogLevelValue {
 
     public static final Set<LogLevelValue> VALUES=
             Collections.unmodifiableSet(EnumSet.allOf(LogLevelValue.class));
-    public static final LogLevelValue fromName(String n) {
+
+    public static LogLevelValue fromName(String n) {
         if (GenericUtils.isEmpty(n)) {
             return null;
         }


[3/6] mina-sshd git commit: Remove direct references to GenericUtils.EMPTY_XXX in non helper methods, add methods without the var args to avoid the creation of the empty array. This keeps readability and performances…

Posted by gn...@apache.org.
Remove direct references to GenericUtils.EMPTY_XXX in non helper methods, add methods without the var args to avoid the creation of the empty array.
This keeps readability and performances…

Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/ec48d8b6
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/ec48d8b6
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/ec48d8b6

Branch: refs/heads/master
Commit: ec48d8b690f7e72b6e8a67303af714681dc640c0
Parents: 26e94eb
Author: Guillaume Nodet <gn...@apache.org>
Authored: Thu Jul 16 15:06:23 2015 +0200
Committer: Guillaume Nodet <gn...@apache.org>
Committed: Thu Jul 16 15:06:23 2015 +0200

----------------------------------------------------------------------
 .../org/apache/sshd/agent/local/AgentImpl.java  |  2 +-
 .../sshd/agent/local/AgentServerProxy.java      |  2 +-
 .../sshd/agent/unix/UnixAgentFactory.java       |  5 ++---
 .../java/org/apache/sshd/client/SshClient.java  |  4 ++--
 .../java/org/apache/sshd/client/SshKeyScan.java | 12 ++++++------
 .../apache/sshd/client/channel/ChannelExec.java |  2 +-
 .../sshd/client/channel/ChannelSubsystem.java   |  2 +-
 .../sshd/client/future/DefaultAuthFuture.java   |  2 +-
 .../client/future/DefaultConnectFuture.java     |  4 ++--
 .../sshd/client/future/DefaultOpenFuture.java   |  2 +-
 .../client/kex/AbstractDHClientKeyExchange.java |  2 +-
 .../org/apache/sshd/client/kex/DHGClient.java   |  2 +-
 .../org/apache/sshd/client/kex/DHGEXClient.java |  2 +-
 .../sshd/client/scp/AbstractScpClient.java      |  2 +-
 .../sshd/client/scp/DefaultScpClient.java       |  2 +-
 .../client/session/ClientConnectionService.java |  2 +-
 .../sshd/client/session/ClientSessionImpl.java  | 10 +++++-----
 .../subsystem/sftp/AbstractSftpClient.java      |  2 +-
 .../sshd/client/subsystem/sftp/SftpClient.java  |  2 +-
 .../sshd/client/subsystem/sftp/SftpCommand.java |  2 +-
 .../client/subsystem/sftp/SftpFileChannel.java  |  4 ++--
 .../client/subsystem/sftp/SftpFileSystem.java   |  2 +-
 .../subsystem/sftp/SftpFileSystemProvider.java  | 10 +++++-----
 .../impl/AbstractSftpClientExtension.java       |  6 +++---
 .../sshd/common/AbstractFactoryManager.java     | 12 ++++++------
 .../apache/sshd/common/SshdSocketAddress.java   |  2 +-
 .../common/channel/ChannelPipedInputStream.java |  2 +-
 .../sshd/common/channel/IoWriteFutureImpl.java  |  2 +-
 .../org/apache/sshd/common/channel/Window.java  |  2 +-
 .../sshd/common/cipher/BuiltinCiphers.java      |  2 +-
 .../org/apache/sshd/common/cipher/ECCurves.java |  8 ++++----
 .../common/compression/BuiltinCompressions.java |  2 +-
 .../config/keys/DSSPublicKeyEntryDecoder.java   |  4 ++--
 .../sshd/common/config/keys/KeyUtils.java       | 10 +++++-----
 .../common/config/keys/RSAPublicKeyDecoder.java |  2 +-
 .../apache/sshd/common/digest/BaseDigest.java   |  2 +-
 .../file/root/RootedFileSystemProvider.java     |  2 +-
 .../apache/sshd/common/file/util/BasePath.java  |  4 ++--
 .../common/forward/DefaultTcpipForwarder.java   | 18 +++++++++---------
 .../common/forward/LocalForwardingEntry.java    |  2 +-
 .../sshd/common/future/DefaultSshFuture.java    |  4 ++--
 .../apache/sshd/common/io/mina/MinaSession.java |  2 +-
 .../io/nio2/Nio2DefaultIoWriteFuture.java       |  2 +-
 .../apache/sshd/common/io/nio2/Nio2Service.java |  6 +++---
 .../io/nio2/Nio2ServiceFactoryFactory.java      |  2 +-
 .../sshd/common/kex/BuiltinDHFactories.java     |  2 +-
 .../java/org/apache/sshd/common/kex/ECDH.java   | 12 ++++++------
 .../common/kex/dh/AbstractDHKeyExchange.java    | 10 +++++-----
 .../keyprovider/AbstractKeyPairProvider.java    |  2 +-
 .../keyprovider/MappedKeyPairProvider.java      |  2 +-
 .../org/apache/sshd/common/mac/BuiltinMacs.java |  2 +-
 .../scp/LocalFileScpSourceStreamResolver.java   |  2 +-
 .../session/AbstractConnectionService.java      |  2 +-
 .../sshd/common/session/PendingWriteFuture.java |  4 ++--
 .../common/signature/AbstractSignature.java     |  6 +++---
 .../common/signature/BuiltinSignatures.java     |  2 +-
 .../sftp/extensions/AbstractParser.java         |  2 +-
 .../subsystem/sftp/extensions/ParserUtils.java  |  2 +-
 .../openssh/AbstractOpenSSHExtensionParser.java |  2 +-
 .../apache/sshd/common/util/GenericUtils.java   |  2 +-
 .../sshd/common/util/Int2IntFunction.java       |  2 +-
 .../apache/sshd/common/util/SecurityUtils.java  |  8 ++++----
 .../apache/sshd/common/util/ValidateUtils.java  | 20 ++++++++++++++------
 .../apache/sshd/common/util/io/DERWriter.java   |  4 ++--
 .../common/util/io/ModifiableFileWatcher.java   |  4 ++--
 .../java/org/apache/sshd/server/SshServer.java  |  8 ++++----
 .../sshd/server/auth/UserAuthPassword.java      |  3 +--
 .../sshd/server/auth/UserAuthPublicKey.java     |  4 ++--
 .../sshd/server/auth/gss/UserAuthGSS.java       |  4 ++--
 .../sshd/server/channel/ChannelSession.java     |  4 ++--
 .../keys/AuthorizedKeysAuthenticator.java       |  4 ++--
 .../DefaultAuthorizedKeysAuthenticator.java     |  6 +++---
 .../org/apache/sshd/server/kex/DHGEXServer.java |  4 ++--
 .../org/apache/sshd/server/kex/DHGServer.java   |  4 ++--
 .../server/session/ServerConnectionService.java |  2 +-
 .../sshd/server/session/ServerSessionImpl.java  |  4 ++--
 .../server/session/ServerUserAuthService.java   |  2 +-
 .../server/subsystem/sftp/SftpSubsystem.java    |  6 +++---
 .../sshd/server/x11/X11ForwardSupport.java      |  6 +++---
 .../org/apache/sshd/PortForwardingTest.java     |  2 +-
 .../AbstractSignatureFactoryTestSupport.java    |  2 +-
 .../sshd/common/util/ValidateUtilsTest.java     |  4 ++--
 .../server/subsystem/sftp/SshFsMounter.java     |  6 +++---
 .../org/apache/sshd/util/BaseTestSupport.java   |  2 +-
 .../test/java/org/apache/sshd/util/Utils.java   |  8 ++++----
 .../git/transport/GitSshdSessionFactory.java    |  2 +-
 86 files changed, 182 insertions(+), 176 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
index 121473e..3afa6ac 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentImpl.java
@@ -74,7 +74,7 @@ public class AgentImpl implements SshAgent {
         }
 
         try {
-            Pair<KeyPair, String> pp = ValidateUtils.checkNotNull(getKeyPair(keys, key), "Key not found", GenericUtils.EMPTY_OBJECT_ARRAY);
+            Pair<KeyPair, String> pp = ValidateUtils.checkNotNull(getKeyPair(keys, key), "Key not found");
             KeyPair kp = ValidateUtils.checkNotNull(pp.getFirst(), "No key pair for agent=%s", pp.getSecond());
             PublicKey pubKey = ValidateUtils.checkNotNull(kp.getPublic(), "No public key for agent=%s", pp.getSecond());
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
index 0919be1..004ae81 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/local/AgentServerProxy.java
@@ -39,7 +39,7 @@ public class AgentServerProxy extends AbstractLoggingBean implements SshAgentSer
     private final AtomicBoolean open = new AtomicBoolean(true);
 
     public AgentServerProxy(ConnectionService service) throws IOException {
-        this.service = ValidateUtils.checkNotNull(service, "No connection service provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.service = ValidateUtils.checkNotNull(service, "No connection service provided");
         this.id = UUID.randomUUID().toString();
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java b/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
index bc8dfaa..625423a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
+++ b/sshd-core/src/main/java/org/apache/sshd/agent/unix/UnixAgentFactory.java
@@ -98,10 +98,9 @@ public class UnixAgentFactory implements SshAgentFactory, ExecutorServiceConfigu
 
     @Override
     public SshAgentServer createServer(ConnectionService service) throws IOException {
-        Session session = ValidateUtils.checkNotNull(service.getSession(), "No session", GenericUtils.EMPTY_OBJECT_ARRAY);
+        Session session = ValidateUtils.checkNotNull(service.getSession(), "No session");
         ValidateUtils.checkTrue(session instanceof ServerSession,
-                                "The session used to create an agent server proxy must be a server session",
-                                GenericUtils.EMPTY_OBJECT_ARRAY);
+                                "The session used to create an agent server proxy must be a server session");
         return new AgentServerProxy(service, getExecutorService(), isShutdownOnExit());
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
index 1756d84..1023668 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SshClient.java
@@ -182,8 +182,8 @@ public class SshClient extends AbstractFactoryManager implements ClientFactoryMa
     protected void checkConfig() {
         super.checkConfig();
         
-        ValidateUtils.checkNotNull(getTcpipForwarderFactory(), "TcpipForwarderFactory not set", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(getServerKeyVerifier(), "ServerKeyVerifier not set", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(getTcpipForwarderFactory(), "TcpipForwarderFactory not set");
+        ValidateUtils.checkNotNull(getServerKeyVerifier(), "ServerKeyVerifier not set");
 
         // Register the additional agent forwarding channel if needed
         SshAgentFactory agentFactory = getAgentFactory();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
index 3ccd972..d1d8177 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/SshKeyScan.java
@@ -166,7 +166,7 @@ public class SshKeyScan extends AbstractSimplifiedLog
 
     @Override
     public Void call() throws Exception {
-        ValidateUtils.checkTrue(isOpen(), "Scanner is closed", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(isOpen(), "Scanner is closed");
 
         Collection<String> typeNames = getKeyTypes();
         Map<String,List<KeyPair>> pairsMap = createKeyPairs(typeNames);
@@ -189,12 +189,12 @@ public class SshKeyScan extends AbstractSimplifiedLog
             }
         }
 
-        ValidateUtils.checkTrue(!GenericUtils.isEmpty(pairsMap), "No client key pairs", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkTrue(!GenericUtils.isEmpty(sigFactories), "No signature factories", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(!GenericUtils.isEmpty(pairsMap), "No client key pairs");
+        ValidateUtils.checkTrue(!GenericUtils.isEmpty(sigFactories), "No signature factories");
 
         Exception err = null;
         try {
-            ValidateUtils.checkTrue(client == null, "Client still active", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(client == null, "Client still active");
             client = SshClient.setUpDefaultClient();
             client.setServerKeyVerifier(this);
 
@@ -601,9 +601,9 @@ public class SshKeyScan extends AbstractSimplifiedLog
 
     public static final <S extends SshKeyScan> S setInputStream(S scanner, Collection<String> hosts) throws IOException {
         if (GenericUtils.isEmpty(hosts)) {
-            ValidateUtils.checkNotNull(scanner.getInputStream(), "No hosts or file specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkNotNull(scanner.getInputStream(), "No hosts or file specified");
         } else {
-            ValidateUtils.checkTrue(scanner.getInputStream() == null, "Both hosts and file specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(scanner.getInputStream() == null, "Both hosts and file specified");
             
             // convert the hosts from the arguments into a "file" - one host per line
             try(ByteArrayOutputStream baos = new ByteArrayOutputStream(hosts.size() * 32)) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
index 1671962..ccf6c01 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelExec.java
@@ -36,7 +36,7 @@ public class ChannelExec extends PtyCapableChannelSession {
 
     public ChannelExec(String command) {
         super(false);
-        this.command = ValidateUtils.checkNotNullAndNotEmpty(command, "Command may not be null/empty", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.command = ValidateUtils.checkNotNullAndNotEmpty(command, "Command may not be null/empty");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
index 73b132a..3e79913 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSubsystem.java
@@ -37,7 +37,7 @@ public class ChannelSubsystem extends ChannelSession {
     private final String subsystem;
 
     public ChannelSubsystem(String subsystem) {
-        this.subsystem = ValidateUtils.checkNotNullAndNotEmpty(subsystem, "Subsystem may not be null/empty", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.subsystem = ValidateUtils.checkNotNullAndNotEmpty(subsystem, "Subsystem may not be null/empty");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
index ca4d9d7..93005be 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultAuthFuture.java
@@ -84,7 +84,7 @@ public class DefaultAuthFuture extends DefaultSshFuture<AuthFuture> implements A
 
     @Override   // TODO for JDK-8 make this a default method
     public void setException(Throwable exception) {
-        ValidateUtils.checkNotNull(exception, "No exception provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(exception, "No exception provided");
         setValue(exception);
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
index 35d4867..5963df9 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultConnectFuture.java
@@ -88,13 +88,13 @@ public class DefaultConnectFuture extends DefaultSshFuture<ConnectFuture> implem
 
     @Override   // TODO in JDK-8 make this a default method
     public void setSession(ClientSession session) {
-        ValidateUtils.checkNotNull(session, "No client session provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(session, "No client session provided");
         setValue(session);
     }
 
     @Override   // TODO in JDK-8 make this a default method
     public void setException(Throwable exception) {
-        ValidateUtils.checkNotNull(exception, "No exception provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(exception, "No exception provided");
         setValue(exception);
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultOpenFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultOpenFuture.java b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultOpenFuture.java
index f1d4674..081e242 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultOpenFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/future/DefaultOpenFuture.java
@@ -77,7 +77,7 @@ public class DefaultOpenFuture extends DefaultSshFuture<OpenFuture> implements O
 
     @Override   // TODO for JDK-8 make this a default method
     public void setException(Throwable exception) {
-        ValidateUtils.checkNotNull(exception, "No exception provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(exception, "No exception provided");
         setValue(exception);
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
index 556edda..1a73680 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/AbstractDHClientKeyExchange.java
@@ -40,7 +40,7 @@ public abstract class AbstractDHClientKeyExchange extends AbstractDHKeyExchange
     @Override
     public void init(AbstractSession s, byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C) throws Exception {
         super.init(s, V_S, V_C, I_S, I_C);
-        ValidateUtils.checkTrue(s instanceof ClientSession, "Using a client side KeyExchange on a server", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(s instanceof ClientSession, "Using a client side KeyExchange on a server");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
index 3d533fa..5f6250c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGClient.java
@@ -69,7 +69,7 @@ public class DHGClient extends AbstractDHClientKeyExchange {
     }
 
     protected DHGClient(DHFactory factory) {
-        this.factory = ValidateUtils.checkNotNull(factory, "No factory", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.factory = ValidateUtils.checkNotNull(factory, "No factory");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
index 35dd0c3..3490b0e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/kex/DHGEXClient.java
@@ -74,7 +74,7 @@ public class DHGEXClient extends AbstractDHClientKeyExchange {
         };
     }
     protected DHGEXClient(DHFactory factory) {
-        this.factory = ValidateUtils.checkNotNull(factory, "No factory", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.factory = ValidateUtils.checkNotNull(factory, "No factory");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/scp/AbstractScpClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/scp/AbstractScpClient.java b/sshd-core/src/main/java/org/apache/sshd/client/scp/AbstractScpClient.java
index 5871171..4e14ffa 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/scp/AbstractScpClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/scp/AbstractScpClient.java
@@ -263,7 +263,7 @@ public abstract class AbstractScpClient extends AbstractLoggingBean implements S
     }
 
     public static String createReceiveCommand(String remote, Collection<Option> options) {
-        ValidateUtils.checkNotNullAndNotEmpty(remote, "No remote location specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(remote, "No remote location specified");
         StringBuilder sb = new StringBuilder(remote.length() + Long.SIZE).append(ScpHelper.SCP_COMMAND_PREFIX);
         if (options.contains(Option.Recursive)) {
             sb.append(" -r");

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java b/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
index 6d4fdf9..d3e4750 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/scp/DefaultScpClient.java
@@ -107,7 +107,7 @@ public class DefaultScpClient extends AbstractScpClient {
 
     @Override
     public void upload(final InputStream local, final String remote, final long size, final Collection<PosixFilePermission> perms, final ScpTimestamp time) throws IOException {
-        int namePos = ValidateUtils.checkNotNullAndNotEmpty(remote, "No remote location specified", GenericUtils.EMPTY_OBJECT_ARRAY).lastIndexOf('/');
+        int namePos = ValidateUtils.checkNotNullAndNotEmpty(remote, "No remote location specified").lastIndexOf('/');
         final String name = (namePos < 0)
                           ? remote
                           : ValidateUtils.checkNotNullAndNotEmpty(remote.substring(namePos + 1), "No name value in remote=%s", remote)

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
index 8c37579..3525065 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientConnectionService.java
@@ -42,7 +42,7 @@ public class ClientConnectionService extends AbstractConnectionService {
     public ClientConnectionService(Session s) throws SshException {
         super(s);
 
-        ValidateUtils.checkTrue(s instanceof ClientSession, "Client side service used on server side", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(s instanceof ClientSession, "Client side service used on server side");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
index dcb8a71..a1252af 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/session/ClientSessionImpl.java
@@ -169,7 +169,7 @@ public class ClientSessionImpl extends AbstractSession implements ClientSession
 
     @Override
     public void addPasswordIdentity(String password) {
-        identities.add(ValidateUtils.checkNotNullAndNotEmpty(password, "No password provided", GenericUtils.EMPTY_OBJECT_ARRAY));
+        identities.add(ValidateUtils.checkNotNullAndNotEmpty(password, "No password provided"));
         if (log.isDebugEnabled()) { // don't show the password in the log
             log.debug("addPasswordIdentity(" + KeyUtils.getFingerPrint(password) + ")");
         }
@@ -191,9 +191,9 @@ public class ClientSessionImpl extends AbstractSession implements ClientSession
 
     @Override
     public void addPublicKeyIdentity(KeyPair kp) {
-        ValidateUtils.checkNotNull(kp, "No key-pair to add", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(kp.getPublic(), "No public key", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(kp.getPrivate(), "No private key", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(kp, "No key-pair to add");
+        ValidateUtils.checkNotNull(kp.getPublic(), "No public key");
+        ValidateUtils.checkNotNull(kp.getPrivate(), "No private key");
 
         identities.add(kp);
 
@@ -555,7 +555,7 @@ public class ClientSessionImpl extends AbstractSession implements ClientSession
 
     @Override
     protected void setKexSeed(byte... seed) {
-        I_C = ValidateUtils.checkNotNullAndNotEmpty(seed, "No KEX seed", GenericUtils.EMPTY_OBJECT_ARRAY);
+        I_C = ValidateUtils.checkNotNullAndNotEmpty(seed, "No KEX seed");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 357be15..34854ec 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
@@ -289,7 +289,7 @@ public abstract class AbstractSftpClient extends AbstractLoggingBean implements
             }
             throw new SftpException(substatus, msg);
         } else if (type == SSH_FXP_HANDLE) {
-            return ValidateUtils.checkNotNullAndNotEmpty(buffer.getBytes(), "Null/empty handle in buffer", GenericUtils.EMPTY_OBJECT_ARRAY);
+            return ValidateUtils.checkNotNullAndNotEmpty(buffer.getBytes(), "Null/empty handle in buffer");
         } else {
             throw new SshException("Unexpected SFTP packet received: type=" + type + ", id=" + id + ", length=" + length);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 9a9a12b..c9cf68a 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
@@ -78,7 +78,7 @@ public interface SftpClient extends SubsystemClient {
 
         public Handle(byte[] id) {
             // clone the original so the handle is imutable
-            this.id = ValidateUtils.checkNotNullAndNotEmpty(id, "No handle ID", GenericUtils.EMPTY_OBJECT_ARRAY).clone();
+            this.id = ValidateUtils.checkNotNullAndNotEmpty(id, "No handle ID").clone();
         }
 
         public int length() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 5b6a602..39686f7 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
@@ -286,7 +286,7 @@ public class SftpCommand implements Channel {
             });
 
     public SftpCommand(SftpClient client) {
-        this.client = ValidateUtils.checkNotNull(client, "No client", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.client = ValidateUtils.checkNotNull(client, "No client");
     }
 
     public final SftpClient getClient() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
index 4fc6fc1..53dd6ca 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/SftpFileChannel.java
@@ -60,8 +60,8 @@ public class SftpFileChannel extends FileChannel {
     private final AtomicReference<Thread> blockingThreadHolder = new AtomicReference<>(null);
 
     public SftpFileChannel(SftpPath p, Collection<SftpClient.OpenMode> modes) throws IOException {
-        this.p = ValidateUtils.checkNotNull(p, "No target path", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.modes = ValidateUtils.checkNotNull(modes, "No channel modes specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.p = ValidateUtils.checkNotNull(p, "No target path");
+        this.modes = ValidateUtils.checkNotNull(modes, "No channel modes specified");
         
         SftpFileSystem  fs=p.getFileSystem();
         sftp = fs.getClient();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 2adb315..2b3a922 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
@@ -70,7 +70,7 @@ public class SftpFileSystem extends BaseFileSystem<SftpPath> {
         super(provider);
         this.id = id;
         this.session = session;
-        this.selector = ValidateUtils.checkNotNull(selector, "No SFTP version selector provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.selector = ValidateUtils.checkNotNull(selector, "No SFTP version selector provided");
         this.stores = Collections.unmodifiableList(Collections.<FileStore>singletonList(new SftpFileStore(id, this)));
         this.pool = new LinkedBlockingQueue<>(FactoryManagerUtils.getIntProperty(session, POOL_SIZE_PROP, DEFAULT_POOL_SIZE));
         try (SftpClient client = getClient()) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 8389061..fa374ef 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
@@ -124,7 +124,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
 
     public SftpFileSystemProvider(SshClient client, SftpVersionSelector selector) {
         this.log = LoggerFactory.getLogger(getClass());
-        this.selector = ValidateUtils.checkNotNull(selector, "No SFTP version selector provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.selector = ValidateUtils.checkNotNull(selector, "No SFTP version selector provided");
         if (client == null) {
             // TODO: make this configurable using system properties
             client = SshClient.setUpDefaultClient();
@@ -144,13 +144,13 @@ public class SftpFileSystemProvider extends FileSystemProvider {
 
     @Override // NOTE: co-variant return
     public SftpFileSystem newFileSystem(URI uri, Map<String, ?> env) throws IOException {
-        String host = ValidateUtils.checkNotNullAndNotEmpty(uri.getHost(), "Host not provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        String host = ValidateUtils.checkNotNullAndNotEmpty(uri.getHost(), "Host not provided");
         int port = uri.getPort();
         if (port <= 0) {
             port = SshConfigFileReader.DEFAULT_PORT;
         }
 
-        String userInfo = ValidateUtils.checkNotNullAndNotEmpty(uri.getUserInfo(), "UserInfo not provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        String userInfo = ValidateUtils.checkNotNullAndNotEmpty(uri.getUserInfo(), "UserInfo not provided");
         String[] ui = GenericUtils.split(userInfo, ':');
         ValidateUtils.checkTrue(GenericUtils.length(ui) == 2, "Invalid user info: %s", userInfo);
         String username = ui[0], password = ui[1];
@@ -912,7 +912,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
     }
 
     private SftpPath toSftpPath(Path path) {
-        ValidateUtils.checkNotNull(path, "No path provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(path, "No path provided");
         if (!(path instanceof SftpPath)) {
             throw new ProviderMismatchException("Path is not SFTP: " + path);
         }
@@ -1108,7 +1108,7 @@ public class SftpFileSystemProvider extends FileSystemProvider {
      * @see #getFileSystemIdentifier(String, int, String)
      */
     public static final String getFileSystemIdentifier(URI uri) {
-        String userInfo = ValidateUtils.checkNotNullAndNotEmpty(uri.getUserInfo(), "UserInfo not provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        String userInfo = ValidateUtils.checkNotNullAndNotEmpty(uri.getUserInfo(), "UserInfo not provided");
         String[] ui = GenericUtils.split(userInfo, ':');
         ValidateUtils.checkTrue(GenericUtils.length(ui) == 2, "Invalid user info: %s", userInfo);
         return getFileSystemIdentifier(uri.getHost(), uri.getPort(), ui[0]);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/impl/AbstractSftpClientExtension.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/impl/AbstractSftpClientExtension.java b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/impl/AbstractSftpClientExtension.java
index a7eb6d0..ccd55de 100644
--- a/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/impl/AbstractSftpClientExtension.java
+++ b/sshd-core/src/main/java/org/apache/sshd/client/subsystem/sftp/extensions/impl/AbstractSftpClientExtension.java
@@ -55,9 +55,9 @@ 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", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.client = ValidateUtils.checkNotNull(client, "No client instance", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.raw = ValidateUtils.checkNotNull(raw, "No raw access", GenericUtils.EMPTY_OBJECT_ARRAY);
+        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.supported = supported;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/AbstractFactoryManager.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/AbstractFactoryManager.java b/sshd-core/src/main/java/org/apache/sshd/common/AbstractFactoryManager.java
index d2afb7b..4a3598f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/AbstractFactoryManager.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/AbstractFactoryManager.java
@@ -170,7 +170,7 @@ public abstract class AbstractFactoryManager extends CloseableUtils.AbstractInne
     }
 
     public void setProperties(Map<String, Object> properties) {
-        this.properties = ValidateUtils.checkNotNull(properties, "Null properties not allowed", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.properties = ValidateUtils.checkNotNull(properties, "Null properties not allowed");
     }
 
     @Override
@@ -305,7 +305,7 @@ public abstract class AbstractFactoryManager extends CloseableUtils.AbstractInne
     }
     
     protected void checkConfig() {
-        ValidateUtils.checkNotNullAndNotEmpty(getKeyExchangeFactories(), "KeyExchangeFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(getKeyExchangeFactories(), "KeyExchangeFactories not set");
 
         if (getScheduledExecutorService() == null) {
             setScheduledExecutorService(
@@ -313,11 +313,11 @@ public abstract class AbstractFactoryManager extends CloseableUtils.AbstractInne
                     true);
         }
 
-        ValidateUtils.checkNotNullAndNotEmpty(getCipherFactories(), "CipherFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNullAndNotEmpty(getCompressionFactories(), "CompressionFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNullAndNotEmpty(getMacFactories(), "MacFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(getCipherFactories(), "CipherFactories not set");
+        ValidateUtils.checkNotNullAndNotEmpty(getCompressionFactories(), "CompressionFactories not set");
+        ValidateUtils.checkNotNullAndNotEmpty(getMacFactories(), "MacFactories not set");
 
-        ValidateUtils.checkNotNull(getRandomFactory(), "RandomFactory not set", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(getRandomFactory(), "RandomFactory not set");
 
         if (getIoServiceFactoryFactory() == null) {
             setIoServiceFactoryFactory(new DefaultIoServiceFactoryFactory());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java b/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
index d8a351d..d7d6234 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/SshdSocketAddress.java
@@ -53,7 +53,7 @@ public class SshdSocketAddress extends SocketAddress {
     private final int port;
 
     public SshdSocketAddress(String hostName, int port) {
-        ValidateUtils.checkNotNull(hostName, "Host name may not be null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(hostName, "Host name may not be null");
         this.hostName = GenericUtils.isEmpty(hostName) ? "0.0.0.0" : hostName;
 
         ValidateUtils.checkTrue(port >= 0, "Port must be >= 0", Integer.valueOf(port));

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 1f0f86e..e68ac88 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
@@ -61,7 +61,7 @@ public class ChannelPipedInputStream extends InputStream implements ChannelPiped
     private boolean writerClosed;
 
     public ChannelPipedInputStream(Window localWindow) {
-        this.localWindow = ValidateUtils.checkNotNull(localWindow, "No local window provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.localWindow = ValidateUtils.checkNotNull(localWindow, "No local window provided");
         this.timeout = FactoryManagerUtils.getLongProperty(localWindow.getProperties(), FactoryManager.WINDOW_TIMEOUT, DEFAULT_TIMEOUT);
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 26cb8eb..9bd3cbe 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
@@ -32,7 +32,7 @@ public class IoWriteFutureImpl extends AbstractIoWriteFuture {
 
     public IoWriteFutureImpl(Buffer buffer) {
         super(null);
-        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided");
     }
 
     public Buffer getBuffer() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 d72395e..d3b693d 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
@@ -51,7 +51,7 @@ public class Window extends AbstractLoggingBean {
     private Map<String,?> props = Collections.<String,Object>emptyMap();
 
     public Window(AbstractChannel channel, Object lock, boolean client, boolean local) {
-        this.channel = ValidateUtils.checkNotNull(channel, "No channel provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.channel = ValidateUtils.checkNotNull(channel, "No channel provided");
         this.lock = (lock != null) ? lock : this;
         this.name = String.valueOf(channel) + ": " + (client ? "client" : "server") + " " + (local ? "local " : "remote") + " window";
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 08e38e3..6df4d4d 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
@@ -181,7 +181,7 @@ public enum BuiltinCiphers implements CipherFactory {
      * with the same name (case <U>insensitive</U>).
      */
     public static final void registerExtension(CipherFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided", GenericUtils.EMPTY_OBJECT_ARRAY).getName();
+        String  name=ValidateUtils.checkNotNull(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/ec48d8b6/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 de7d3a8..598bfd7 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
@@ -141,7 +141,7 @@ public enum ECCurves implements NamedResource, OptionalFeature {
     public abstract Digest getDigestForParams();
 
     ECCurves(String name, ECParameterSpec params, int numOctets) {
-        this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No curve name", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No curve name");
         this.keyType = Constants.ECDSA_SHA2_PREFIX + name;
         this.params = ValidateUtils.checkNotNull(params, "No EC params for %s", name);
         this.keySize = getCurveSize(params);
@@ -250,9 +250,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", GenericUtils.EMPTY_OBJECT_ARRAY).getCurve();
-        ECField field = ValidateUtils.checkNotNull(curve, "No EC curve", GenericUtils.EMPTY_OBJECT_ARRAY).getField();
-        return ValidateUtils.checkNotNull(field, "No EC field", GenericUtils.EMPTY_OBJECT_ARRAY).getFieldSize();
+        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();
     }
 
     public static byte[] encodeECPoint(ECPoint group, ECParameterSpec params) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 d6bb3b2..16933e5 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
@@ -94,7 +94,7 @@ public enum BuiltinCompressions implements CompressionFactory {
      * with the same name (case <U>insensitive</U>).
      */
     public static final void registerExtension(CompressionFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided", GenericUtils.EMPTY_OBJECT_ARRAY).getName();
+        String  name=ValidateUtils.checkNotNull(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/ec48d8b6/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 b48d3cf..b9b7712 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
@@ -66,9 +66,9 @@ public class DSSPublicKeyEntryDecoder extends AbstractPublicKeyEntryDecoder<DSAP
 
     @Override
     public String encodePublicKey(OutputStream s, DSAPublicKey key) throws IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(key, "No public key provided");
 
-        DSAParams keyParams = ValidateUtils.checkNotNull(key.getParams(), "No DSA params available", GenericUtils.EMPTY_OBJECT_ARRAY);
+        DSAParams keyParams = ValidateUtils.checkNotNull(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/ec48d8b6/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 b285476..da07183 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
@@ -194,16 +194,16 @@ public final class KeyUtils {
      * @see PublicKeyEntryDecoder#getSupportedTypeNames()
      */
     public static void registerPublicKeyEntryDecoder(PublicKeyEntryDecoder<?,?> decoder) {
-        ValidateUtils.checkNotNull(decoder, "No decoder specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(decoder, "No decoder specified");
 
-        Class<?> pubType = ValidateUtils.checkNotNull(decoder.getPublicKeyType(), "No public key type declared", GenericUtils.EMPTY_OBJECT_ARRAY);
-        Class<?> prvType = ValidateUtils.checkNotNull(decoder.getPrivateKeyType(), "No private key type declared", GenericUtils.EMPTY_OBJECT_ARRAY);
+        Class<?> pubType = ValidateUtils.checkNotNull(decoder.getPublicKeyType(), "No public key type declared");
+        Class<?> prvType = ValidateUtils.checkNotNull(decoder.getPrivateKeyType(), "No private key type declared");
         synchronized(byKeyClassDecodersMap) {
             byKeyClassDecodersMap.put(pubType, decoder);
             byKeyClassDecodersMap.put(prvType, decoder);
         }
 
-        Collection<String> names = ValidateUtils.checkNotNullAndNotEmpty(decoder.getSupportedTypeNames(), "No supported key type", GenericUtils.EMPTY_OBJECT_ARRAY);
+        Collection<String> names = ValidateUtils.checkNotNullAndNotEmpty(decoder.getSupportedTypeNames(), "No supported key type");
         synchronized(byKeyTypeDecodersMap) {
             for (String n : names) {
                 PublicKeyEntryDecoder<?,?>  prev = byKeyTypeDecodersMap.put(n, decoder);
@@ -316,7 +316,7 @@ public final class KeyUtils {
      * not be {@code null}
      */
     public static void setDefaultFingerPrintFactory (Factory<? extends Digest> f) {
-        defaultDigestHolder.set(ValidateUtils.checkNotNull(f, "No digest factory", GenericUtils.EMPTY_OBJECT_ARRAY));
+        defaultDigestHolder.set(ValidateUtils.checkNotNull(f, "No digest factory"));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 5927568..05349dc 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
@@ -64,7 +64,7 @@ public class RSAPublicKeyDecoder extends AbstractPublicKeyEntryDecoder<RSAPublic
     
     @Override
     public String encodePublicKey(OutputStream s, RSAPublicKey key) throws IOException {
-        ValidateUtils.checkNotNull(key, "No public key provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(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/ec48d8b6/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 dceb553..5d10d88 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
@@ -46,7 +46,7 @@ public class BaseDigest implements Digest {
      * @param bsize the block size of this digest
      */
     public BaseDigest(String algorithm, int bsize) {
-        this.algorithm = ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No algorithm", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.algorithm = ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No algorithm");
         ValidateUtils.checkTrue(bsize > 0, "Invalid block size: %d", bsize);
         this.bsize = bsize;
         this.s = getClass().getSimpleName() + "[" + algorithm + ":" + bsize + "]";

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 c835868..1d07cef 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
@@ -351,7 +351,7 @@ public class RootedFileSystemProvider extends FileSystemProvider {
     }
 
     private static Path unroot(Path path, boolean absolute) {
-        ValidateUtils.checkNotNull(path, "No path to unroot", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(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());

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 3286a8d..80ed9fe 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
@@ -239,7 +239,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", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(other, "Missing sibling path argument");
         T parent = getParent();
         return parent == null ? other : parent.resolve(other);
     }
@@ -356,7 +356,7 @@ public abstract class BasePath<T extends BasePath<T, FS>, FS extends BaseFileSys
 
     @SuppressWarnings("unchecked")
     private T checkPath(Path paramPath) {
-        ValidateUtils.checkNotNull(paramPath, "Missing path argument", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(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/ec48d8b6/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 890297a..6b27d5a 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
@@ -78,8 +78,8 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
     protected IoAcceptor acceptor;
 
     public DefaultTcpipForwarder(ConnectionService service) {
-        this.service = ValidateUtils.checkNotNull(service, "No connection service", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.session = ValidateUtils.checkNotNull(service.getSession(), "No session", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.service = ValidateUtils.checkNotNull(service, "No connection service");
+        this.session = ValidateUtils.checkNotNull(service.getSession(), "No session");
     }
 
     public final ConnectionService getConnectionService() {
@@ -92,9 +92,9 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
     @Override
     public synchronized SshdSocketAddress startLocalPortForwarding(SshdSocketAddress local, SshdSocketAddress remote) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: %s", local);
-        ValidateUtils.checkNotNull(remote, "Remote address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(remote, "Remote address is null");
 
         if (isClosed()) {
             throw new IllegalStateException("TcpipForwarder is closed");
@@ -123,7 +123,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
     @Override
     public synchronized void stopLocalPortForwarding(SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(local, "Local address is null");
 
         SshdSocketAddress bound;
         synchronized(localToRemote) {
@@ -144,8 +144,8 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
     @Override
     public synchronized SshdSocketAddress startRemotePortForwarding(SshdSocketAddress remote, SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(remote, "Remote address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(local, "Local address is null");
+        ValidateUtils.checkNotNull(remote, "Remote address is null");
 
         Buffer buffer = session.createBuffer(SshConstants.SSH_MSG_GLOBAL_REQUEST);
         buffer.putString("tcpip-forward");
@@ -202,7 +202,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
     @Override
     public synchronized SshdSocketAddress startDynamicPortForwarding(SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: %s", local);
 
         if (isClosed()) {
@@ -260,7 +260,7 @@ public class DefaultTcpipForwarder extends CloseableUtils.AbstractInnerCloseable
 
     @Override
     public synchronized SshdSocketAddress localPortForwardingRequested(SshdSocketAddress local) throws IOException {
-        ValidateUtils.checkNotNull(local, "Local address is null", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(local, "Local address is null");
         ValidateUtils.checkTrue(local.getPort() >= 0, "Invalid local port: %s", local);
         
         FactoryManager manager = session.getFactoryManager();

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/forward/LocalForwardingEntry.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/LocalForwardingEntry.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/LocalForwardingEntry.java
index 5b3ca97..b1872ba 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/LocalForwardingEntry.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/LocalForwardingEntry.java
@@ -35,7 +35,7 @@ public class LocalForwardingEntry extends SshdSocketAddress {
 
     public LocalForwardingEntry(String hostName, String alias, int port) {
         super(hostName, port);
-        this.alias = ValidateUtils.checkNotNullAndNotEmpty(alias, "No host alias", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.alias = ValidateUtils.checkNotNullAndNotEmpty(alias, "No host alias");
     }
 
     public String getAlias() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 46cf133..3b95064 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
@@ -222,7 +222,7 @@ public class DefaultSshFuture<T extends SshFuture> extends AbstractLoggingBean i
 
     @Override
     public T addListener(SshFutureListener<T> listener) {
-        ValidateUtils.checkNotNull(listener, "Missing listener argument", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(listener, "Missing listener argument");
         boolean notifyNow = false;
         synchronized (lock) {
             if (result != null) {
@@ -251,7 +251,7 @@ public class DefaultSshFuture<T extends SshFuture> extends AbstractLoggingBean i
 
     @Override
     public T removeListener(SshFutureListener<T> listener) {
-        ValidateUtils.checkNotNull(listener, "No listener provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(listener, "No listener provided");
 
         synchronized (lock) {
             if (result == null) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 4939540..476b425 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
@@ -140,7 +140,7 @@ public class MinaSession extends CloseableUtils.AbstractInnerCloseable implement
         }
 
         public void setException(Throwable exception) {
-            setValue(ValidateUtils.checkNotNull(exception, "No exception specified", GenericUtils.EMPTY_OBJECT_ARRAY));
+            setValue(ValidateUtils.checkNotNull(exception, "No exception specified"));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 b0ccc0d..0a384ea 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
@@ -44,6 +44,6 @@ public class Nio2DefaultIoWriteFuture extends AbstractIoWriteFuture {
     }
 
     public void setException(Throwable exception) {
-        setValue(ValidateUtils.checkNotNull(exception, "No exception specified", GenericUtils.EMPTY_OBJECT_ARRAY));
+        setValue(ValidateUtils.checkNotNull(exception, "No exception specified"));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 9120602..69aaacb 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
@@ -48,9 +48,9 @@ public abstract class Nio2Service extends CloseableUtils.AbstractInnerCloseable
 
     protected Nio2Service(FactoryManager manager, IoHandler handler, AsynchronousChannelGroup group) {
         log.trace("Creating {}", getClass().getSimpleName());
-        this.manager = ValidateUtils.checkNotNull(manager, "No factory manager provided", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.handler = ValidateUtils.checkNotNull(handler, "No I/O handler provided", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.group = ValidateUtils.checkNotNull(group, "No async. channel group provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        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.sessions = new ConcurrentHashMap<>();
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 bebf49b..6068b2e 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
@@ -47,7 +47,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", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(AsynchronousChannel.class, "Missing NIO2 class");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 d946253..0ea2ab2 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
@@ -182,7 +182,7 @@ public enum BuiltinDHFactories implements DHFactory {
      * with the same name (case <U>insensitive</U>).
      */
     public static final void registerExtension(DHFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided", GenericUtils.EMPTY_OBJECT_ARRAY).getName();
+        String  name=ValidateUtils.checkNotNull(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/ec48d8b6/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 d57fb01..1af4877 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
@@ -59,7 +59,7 @@ public class ECDH extends AbstractDH {
     }
 
     public ECDH(ECCurves curve) throws Exception {
-        this(ValidateUtils.checkNotNull(curve, "No known curve instance provided", GenericUtils.EMPTY_OBJECT_ARRAY).getParameters());
+        this(ValidateUtils.checkNotNull(curve, "No known curve instance provided").getParameters());
     }
 
     public ECDH(ECParameterSpec paramSpec) throws Exception {
@@ -71,7 +71,7 @@ public class ECDH extends AbstractDH {
     @Override
     public byte[] getE() throws Exception {
         if (e == null) {
-            ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
             myKpairGen.initialize(params);
             KeyPair myKpair = myKpairGen.generateKeyPair();
             myKeyAgree.init(myKpair.getPrivate());
@@ -83,7 +83,7 @@ public class ECDH extends AbstractDH {
 
     @Override
     protected byte[] calculateK() throws Exception {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
         KeyFactory myKeyFac = SecurityUtils.getKeyFactory("EC");
         ECPublicKeySpec keySpec = new ECPublicKeySpec(f, params);
         PublicKey yourPubKey = myKeyFac.generatePublic(keySpec);
@@ -97,14 +97,14 @@ public class ECDH extends AbstractDH {
 
     @Override
     public void setF(byte[] f) {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
         this.f = ECDSAPublicKeyEntryDecoder.octetStringToEcPoint(f);
     }
 
     @Override
     public Digest getHash() throws Exception {
-        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ECCurves curve = ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Unknown curve parameters", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(params, "No ECParameterSpec(s)");
+        ECCurves curve = ValidateUtils.checkNotNull(ECCurves.fromCurveParameters(params), "Unknown curve parameters");
         return curve.getDigestForParams();
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
index e43be6e..2440955 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/kex/dh/AbstractDHKeyExchange.java
@@ -47,11 +47,11 @@ public abstract class AbstractDHKeyExchange extends AbstractLoggingBean implemen
 
     @Override
     public void init(AbstractSession s, byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C) throws Exception {
-        this.session = ValidateUtils.checkNotNull(s, "No session", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.V_S = ValidateUtils.checkNotNullAndNotEmpty(V_S, "No V_S value", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.V_C = ValidateUtils.checkNotNullAndNotEmpty(V_C, "No V_C value", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.I_S = ValidateUtils.checkNotNullAndNotEmpty(I_S, "No I_S value", GenericUtils.EMPTY_OBJECT_ARRAY);
-        this.I_C = ValidateUtils.checkNotNullAndNotEmpty(I_C, "No I_C value", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.session = ValidateUtils.checkNotNull(s, "No session");
+        this.V_S = ValidateUtils.checkNotNullAndNotEmpty(V_S, "No V_S value");
+        this.V_C = ValidateUtils.checkNotNullAndNotEmpty(V_C, "No V_C value");
+        this.I_S = ValidateUtils.checkNotNullAndNotEmpty(I_S, "No I_S value");
+        this.I_C = ValidateUtils.checkNotNullAndNotEmpty(I_C, "No I_C value");
     }
 
     public AbstractSession getSession() {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
index 1f5c9f3..1fd97a0 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/AbstractKeyPairProvider.java
@@ -39,7 +39,7 @@ public abstract class AbstractKeyPairProvider extends AbstractLoggingBean implem
 
     @Override
     public KeyPair loadKey(String type) {
-        ValidateUtils.checkNotNullAndNotEmpty(type, "No key type to load", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(type, "No key type to load");
 
         Iterable<KeyPair> keys = loadKeys();
         for (KeyPair key : keys) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
index dcb9e36..c8c187d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/keyprovider/MappedKeyPairProvider.java
@@ -48,7 +48,7 @@ public class MappedKeyPairProvider implements KeyPairProvider {
     private final Map<String,KeyPair>   pairsMap;
 
     public MappedKeyPairProvider(Map<String,KeyPair> pairsMap) {
-        this.pairsMap = ValidateUtils.checkNotNull(pairsMap, "No pairs map provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.pairsMap = ValidateUtils.checkNotNull(pairsMap, "No pairs map provided");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 990a72e..8ca6a58 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
@@ -115,7 +115,7 @@ public enum BuiltinMacs implements MacFactory {
      * with the same name (case <U>insensitive</U>).
      */
     public static final void registerExtension(MacFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided", GenericUtils.EMPTY_OBJECT_ARRAY).getName();
+        String  name=ValidateUtils.checkNotNull(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/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpSourceStreamResolver.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpSourceStreamResolver.java b/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpSourceStreamResolver.java
index 4db74c0..7e1f21f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpSourceStreamResolver.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/scp/LocalFileScpSourceStreamResolver.java
@@ -44,7 +44,7 @@ public class LocalFileScpSourceStreamResolver extends AbstractLoggingBean implem
     private final ScpTimestamp time;
 
     public LocalFileScpSourceStreamResolver(Path path) throws IOException {
-        this.path = ValidateUtils.checkNotNull(path, "No path specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.path = ValidateUtils.checkNotNull(path, "No path specified");
         this.name = path.getFileName();
         this.perms = IoUtils.getPermissions(path);
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
index 864f20b..e3c7678 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractConnectionService.java
@@ -87,7 +87,7 @@ public abstract class AbstractConnectionService extends CloseableUtils.AbstractI
     protected boolean allowMoreSessions = true;
 
     protected AbstractConnectionService(Session session) {
-        ValidateUtils.checkTrue(session instanceof AbstractSession, "Not an AbstractSession", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(session instanceof AbstractSession, "Not an AbstractSession");
         this.session = (AbstractSession) session;
         FactoryManager manager = session.getFactoryManager();
         agentForward = new AgentForwardSupport(this);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/session/PendingWriteFuture.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/PendingWriteFuture.java b/sshd-core/src/main/java/org/apache/sshd/common/session/PendingWriteFuture.java
index a0c1430..0c8de8c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/PendingWriteFuture.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/PendingWriteFuture.java
@@ -34,7 +34,7 @@ public class PendingWriteFuture extends AbstractIoWriteFuture implements SshFutu
 
     public PendingWriteFuture(Buffer buffer) {
         super(null);
-        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.buffer = ValidateUtils.checkNotNull(buffer, "No buffer provided");
     }
 
     public Buffer getBuffer() {
@@ -46,7 +46,7 @@ public class PendingWriteFuture extends AbstractIoWriteFuture implements SshFutu
     }
 
     public void setException(Throwable cause) {
-        ValidateUtils.checkNotNull(cause, "No cause specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(cause, "No cause specified");
         setValue(cause);
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 feb6d15..9623ee0 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
@@ -39,7 +39,7 @@ public abstract class AbstractSignature implements Signature {
     private final String algorithm;
 
     protected AbstractSignature(String algorithm) {
-        this.algorithm = ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No signature algorithm specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.algorithm = ValidateUtils.checkNotNullAndNotEmpty(algorithm, "No signature algorithm specified");
     }
 
     @Override
@@ -51,13 +51,13 @@ public abstract class AbstractSignature implements Signature {
     @Override
     public void initVerifier(PublicKey key) throws Exception {
         signature = SecurityUtils.getSignature(getAlgorithm());
-        signature.initVerify(ValidateUtils.checkNotNull(key, "No public key provided", GenericUtils.EMPTY_OBJECT_ARRAY));
+        signature.initVerify(ValidateUtils.checkNotNull(key, "No public key provided"));
     }
 
     @Override
     public void initSigner(PrivateKey key) throws Exception {
         signature = SecurityUtils.getSignature(getAlgorithm());
-        signature.initSign(ValidateUtils.checkNotNull(key, "No private key provided", GenericUtils.EMPTY_OBJECT_ARRAY));
+        signature.initSign(ValidateUtils.checkNotNull(key, "No private key provided"));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 d79e0e3..5c5b1d4 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
@@ -138,7 +138,7 @@ public enum BuiltinSignatures implements SignatureFactory {
      * with the same name (case <U>insensitive</U>).
      */
     public static final void registerExtension(SignatureFactory extension) {
-        String  name=ValidateUtils.checkNotNull(extension, "No extension provided", GenericUtils.EMPTY_OBJECT_ARRAY).getName();
+        String  name=ValidateUtils.checkNotNull(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/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
index 588fa74..da94d10 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/AbstractParser.java
@@ -29,7 +29,7 @@ public abstract class AbstractParser<T> implements ExtensionParser<T> {
     private final String name;
 
     protected AbstractParser(String name) {
-        this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No extension name", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No extension name");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 5e879c7..b00ee88 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
@@ -76,7 +76,7 @@ public final class ParserUtils {
      * for this extension name
      */
     public static ExtensionParser<?> registerParser(ExtensionParser<?> parser) {
-        ValidateUtils.checkNotNull(parser, "No parser instance", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(parser, "No parser instance");
         
         synchronized(parsersMap) {
             return parsersMap.put(parser.getName(), parser);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
index 0b3735c..c6905f5 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/subsystem/sftp/extensions/openssh/AbstractOpenSSHExtensionParser.java
@@ -42,7 +42,7 @@ public abstract class AbstractOpenSSHExtensionParser extends AbstractParser<Open
         }
 
         public OpenSSHExtension(String name, String version) {
-            this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No extension name", GenericUtils.EMPTY_OBJECT_ARRAY);
+            this.name = ValidateUtils.checkNotNullAndNotEmpty(name, "No extension name");
             this.version = version;
         }
 


[2/6] mina-sshd git commit: Remove direct references to GenericUtils.EMPTY_XXX in non helper methods, add methods without the var args to avoid the creation of the empty array. This keeps readability and performances…

Posted by gn...@apache.org.
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 568019d..eee2c20 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
@@ -322,7 +322,7 @@ public final class GenericUtils {
      */
     public static final <V> SortedSet<V> asSortedSet(Comparator<? super V> comp, Collection<? extends V> values) {
         // TODO for JDK-8 return Collections.emptySortedSet()
-        SortedSet<V>    set=new TreeSet<V>(ValidateUtils.checkNotNull(comp, "No comparator", EMPTY_OBJECT_ARRAY));
+        SortedSet<V>    set=new TreeSet<V>(ValidateUtils.checkNotNull(comp, "No comparator"));
         if (size(values) > 0) {
             set.addAll(values);
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/util/Int2IntFunction.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/Int2IntFunction.java b/sshd-core/src/main/java/org/apache/sshd/common/util/Int2IntFunction.java
index 06a6070..68b1588 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/Int2IntFunction.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/Int2IntFunction.java
@@ -78,7 +78,7 @@ public interface Int2IntFunction {
             if (factor == 1) {
                 return IDENTITY;
             } else {
-                ValidateUtils.checkTrue(factor != 0, "Zero division factor", GenericUtils.EMPTY_OBJECT_ARRAY);
+                ValidateUtils.checkTrue(factor != 0, "Zero division factor");
                 return new Int2IntFunction() {
                     @Override
                     public int apply(int value) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
index aa80440..daa5b13 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/SecurityUtils.java
@@ -214,7 +214,7 @@ public class SecurityUtils {
     // use a separate class in order to avoid direct dependency
     private static class BouncyCastleFileKeyPairProvider extends AbstractFileKeyPairProvider {
         private BouncyCastleFileKeyPairProvider() {
-            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered");
         }
         
         @Override
@@ -233,7 +233,7 @@ public class SecurityUtils {
 
     private static class BouncyCastleClassLoadableResourceKeyPairProvider extends AbstractClassLoadableResourceKeyPairProvider {
         private BouncyCastleClassLoadableResourceKeyPairProvider() {
-            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered");
         }
 
         @Override
@@ -252,7 +252,7 @@ public class SecurityUtils {
 
     private static class BouncyCastleGeneratorHostKeyProvider extends AbstractGeneratorHostKeyProvider {
         private BouncyCastleGeneratorHostKeyProvider(Path path) {
-            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered");
             setPath(path);
         }
 
@@ -318,7 +318,7 @@ public class SecurityUtils {
         private final RandomGenerator random;
 
         public BouncyCastleRandom() {
-            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkTrue(isBouncyCastleRegistered(), "BouncyCastle not registered");
             this.random = new VMPCRandomGenerator();
             byte[] seed = new SecureRandom().generateSeed(8);
             this.random.addSeedMaterial(seed);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
index 4432aa4..264e159 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
@@ -30,11 +30,13 @@ public final class ValidateUtils {
         throw new UnsupportedOperationException("No instance");
     }
 
+    public static final <T> T checkNotNull(T t, String message) {
+        checkTrue(t != null, message);
+        return t;
+    }
+
     public static final <T> T checkNotNull(T t, String message, Object arg) {
-        if (t == null) {
-            throwIllegalArgumentException(message, arg);
-        }
-        
+        checkTrue(t != null, message, arg);
         return t;
     }
 
@@ -43,6 +45,12 @@ public final class ValidateUtils {
         return t;
     }
 
+    public static final String checkNotNullAndNotEmpty(String t, String message) {
+        t = checkNotNull(t, message).trim();
+        checkTrue(GenericUtils.length(t) > 0, message);
+        return t;
+    }
+
     public static final String checkNotNullAndNotEmpty(String t, String message, Object arg) {
         t = checkNotNull(t, message, arg).trim();
         checkTrue(GenericUtils.length(t) > 0, message, arg);
@@ -79,9 +87,9 @@ public final class ValidateUtils {
         return t;
     }
 
-    public static final void checkTrue(boolean flag, String message, long arg) {
+    public static final void checkTrue(boolean flag, String message) {
         if (!flag) {
-            throwIllegalArgumentException(message, Long.valueOf(arg));
+            throwIllegalArgumentException(message, GenericUtils.EMPTY_OBJECT_ARRAY);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 6d4dd51..b2d6ccf 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
@@ -49,11 +49,11 @@ public class DERWriter extends FilterOutputStream {
     }
 
     public DERWriter(OutputStream stream) {
-        super(ValidateUtils.checkNotNull(stream, "No output stream", GenericUtils.EMPTY_OBJECT_ARRAY));
+        super(ValidateUtils.checkNotNull(stream, "No output stream"));
     }
     
     public void writeBigInteger(BigInteger value) throws IOException {
-        writeBigInteger(ValidateUtils.checkNotNull(value, "No value", GenericUtils.EMPTY_OBJECT_ARRAY).toByteArray());
+        writeBigInteger(ValidateUtils.checkNotNull(value, "No value").toByteArray());
     }
 
     public void writeBigInteger(byte ... bytes) throws IOException {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 c44cee0..584a241 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
@@ -46,7 +46,7 @@ public class ModifiableFileWatcher extends AbstractLoggingBean {
     protected final LinkOption[] options;
 
     public ModifiableFileWatcher(File file) {
-        this(ValidateUtils.checkNotNull(file, "No file to watch", GenericUtils.EMPTY_OBJECT_ARRAY).toPath());
+        this(ValidateUtils.checkNotNull(file, "No file to watch").toPath());
     }
 
     public ModifiableFileWatcher(Path file) {
@@ -54,7 +54,7 @@ public class ModifiableFileWatcher extends AbstractLoggingBean {
     }
 
     public ModifiableFileWatcher(Path file, LinkOption ... options) {
-        this.file = ValidateUtils.checkNotNull(file, "No path to watch", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.file = ValidateUtils.checkNotNull(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/ec48d8b6/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 be7f27d..c84a710 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
@@ -245,13 +245,13 @@ public class SshServer extends AbstractFactoryManager implements ServerFactoryMa
                 factories.add(DEFAULT_USER_AUTH_GSS_FACTORY);
             }
             
-            ValidateUtils.checkTrue(factories.size() > 0, "UserAuthFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY); 
+            ValidateUtils.checkTrue(factories.size() > 0, "UserAuthFactories not set");
             setUserAuthFactories(factories);
         }
 
-        ValidateUtils.checkNotNullAndNotEmpty(getChannelFactories(), "ChannelFactories not set", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(getKeyPairProvider(), "HostKeyProvider not set", GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(getFileSystemFactory(), "FileSystemFactory not set", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(getChannelFactories(), "ChannelFactories not set");
+        ValidateUtils.checkNotNull(getKeyPairProvider(), "HostKeyProvider not set");
+        ValidateUtils.checkNotNull(getFileSystemFactory(), "FileSystemFactory not set");
 
         if (GenericUtils.isEmpty(getServiceFactories())) {
             setServiceFactories(DEFAULT_SERVICE_FACTORIES);

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
index 77c73b3..2f6bd4f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPassword.java
@@ -53,8 +53,7 @@ public class UserAuthPassword extends AbstractUserAuth {
         ServerFactoryManager manager = session.getFactoryManager();
         PasswordAuthenticator auth = ValidateUtils.checkNotNull(
                 manager.getPasswordAuthenticator(),
-                "No PasswordAuthenticator configured",
-                GenericUtils.EMPTY_OBJECT_ARRAY);
+                "No PasswordAuthenticator configured");
         return auth.authenticate(username, password, session);
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
index 8c58463..87cd80c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/auth/UserAuthPublicKey.java
@@ -43,7 +43,7 @@ public class UserAuthPublicKey extends AbstractUserAuth {
 
     @Override
     public Boolean doAuth(Buffer buffer, boolean init) throws Exception {
-        ValidateUtils.checkTrue(init, "Instance not initialized", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(init, "Instance not initialized");
         boolean hasSig = buffer.getBoolean();
         String alg = buffer.getString();
 
@@ -63,7 +63,7 @@ public class UserAuthPublicKey extends AbstractUserAuth {
         byte[] sig = hasSig ? buffer.getBytes() : null;
 
         PublickeyAuthenticator authenticator = 
-                ValidateUtils.checkNotNull(manager.getPublickeyAuthenticator(), "No PublickeyAuthenticator configured", GenericUtils.EMPTY_OBJECT_ARRAY);
+                ValidateUtils.checkNotNull(manager.getPublickeyAuthenticator(), "No PublickeyAuthenticator configured");
         if (!authenticator.authenticate(username, key, session)) {
             return Boolean.FALSE;
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 aab20d4..9ff8867 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
@@ -125,7 +125,7 @@ public class UserAuthGSS extends AbstractUserAuth {
 
                 Buffer msgbuf = new ByteArrayBuffer();
 
-                msgbuf.putBytes(ValidateUtils.checkNotNullAndNotEmpty(session.getSessionId(), "No current session ID", GenericUtils.EMPTY_OBJECT_ARRAY));
+                msgbuf.putBytes(ValidateUtils.checkNotNullAndNotEmpty(session.getSessionId(), "No current session ID"));
                 msgbuf.putByte(SshConstants.SSH_MSG_USERAUTH_REQUEST);
                 msgbuf.putString(username);
                 msgbuf.putString(service);
@@ -213,7 +213,7 @@ public class UserAuthGSS extends AbstractUserAuth {
      */
     protected GSSAuthenticator getAuthenticator(ServerSession session) throws Exception {
         ServerFactoryManager manager = session.getFactoryManager();
-        return ValidateUtils.checkNotNull(manager.getGSSAuthenticator(), "No GSSAuthenticator configured", GenericUtils.EMPTY_OBJECT_ARRAY);
+        return ValidateUtils.checkNotNull(manager.getGSSAuthenticator(), "No GSSAuthenticator configured");
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 a799598..c49c41f 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
@@ -612,7 +612,7 @@ public class ChannelSession extends AbstractServerChannel {
     }
 
     protected boolean handleAgentForwarding(Buffer buffer) throws IOException {
-        ValidateUtils.checkTrue(session instanceof ServerSession, "Session not a server one", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(session instanceof ServerSession, "Session not a server one");
         FactoryManager manager = session.getFactoryManager();
         ForwardingFilter filter = manager.getTcpipForwardingFilter();
         SshAgentFactory factory = manager.getAgentFactory();
@@ -629,7 +629,7 @@ public class ChannelSession extends AbstractServerChannel {
     }
 
     protected boolean handleX11Forwarding(Buffer buffer) throws IOException {
-        ValidateUtils.checkTrue(session instanceof ServerSession, "Session not a server one", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(session instanceof ServerSession, "Session not a server one");
         FactoryManager manager = session.getFactoryManager();
         ForwardingFilter filter = manager.getTcpipForwardingFilter();
         if ((filter == null) || (!filter.canForwardX11(session))) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/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 e4781ce..d34b758 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
@@ -49,7 +49,7 @@ public class AuthorizedKeysAuthenticator extends ModifiableFileWatcher implement
             new AtomicReference<PublickeyAuthenticator>(RejectAllPublickeyAuthenticator.INSTANCE);
 
     public AuthorizedKeysAuthenticator(File file) {
-        this(ValidateUtils.checkNotNull(file, "No file to watch", GenericUtils.EMPTY_OBJECT_ARRAY).toPath());
+        this(ValidateUtils.checkNotNull(file, "No file to watch").toPath());
     }
 
     public AuthorizedKeysAuthenticator(Path file) {
@@ -71,7 +71,7 @@ public class AuthorizedKeysAuthenticator extends ModifiableFileWatcher implement
 
         try {
             PublickeyAuthenticator delegate =
-                    ValidateUtils.checkNotNull(resolvePublickeyAuthenticator(username, session), "No delegate", GenericUtils.EMPTY_OBJECT_ARRAY);
+                    ValidateUtils.checkNotNull(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/ec48d8b6/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 ad2a2c8..9989219 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
@@ -64,11 +64,11 @@ public class DefaultAuthorizedKeysAuthenticator extends AuthorizedKeysAuthentica
     }
 
     public DefaultAuthorizedKeysAuthenticator(File file, boolean strict) {
-        this(ValidateUtils.checkNotNull(file, "No file provided", GenericUtils.EMPTY_OBJECT_ARRAY).toPath(), strict, IoUtils.getLinkOptions(false));
+        this(ValidateUtils.checkNotNull(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", GenericUtils.EMPTY_OBJECT_ARRAY).toPath(), strict, IoUtils.getLinkOptions(false));
+        this(user, ValidateUtils.checkNotNull(file, "No file provided").toPath(), strict, IoUtils.getLinkOptions(false));
     }
 
     public DefaultAuthorizedKeysAuthenticator(Path path, boolean strict, LinkOption ... options) {
@@ -77,7 +77,7 @@ public class DefaultAuthorizedKeysAuthenticator extends AuthorizedKeysAuthentica
 
     public DefaultAuthorizedKeysAuthenticator(String user, Path path, boolean strict, LinkOption ... options) {
         super(path, options);
-        this.user = ValidateUtils.checkNotNullAndNotEmpty(user, "No username provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.user = ValidateUtils.checkNotNullAndNotEmpty(user, "No username provided");
         this.strict = strict;
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
index 99512ac..732b22d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGEXServer.java
@@ -84,7 +84,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
     }
 
     protected DHGEXServer(DHFactory factory) {
-        this.factory = ValidateUtils.checkNotNull(factory, "No factory", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.factory = ValidateUtils.checkNotNull(factory, "No factory");
     }
 
     @Override
@@ -158,7 +158,7 @@ public class DHGEXServer extends AbstractDHServerKeyExchange {
 
 
             byte[] K_S;
-            KeyPair kp = ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available", GenericUtils.EMPTY_OBJECT_ARRAY);
+            KeyPair kp = ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available");
             String algo = session.getNegotiatedKexParameter(KexProposalOption.SERVERKEYS);
             FactoryManager manager = session.getFactoryManager();
             Signature sig = ValidateUtils.checkNotNull(

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
index 8edc61c..1c433f1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/kex/DHGServer.java
@@ -67,7 +67,7 @@ public class DHGServer extends AbstractDHServerKeyExchange {
     }
 
     protected DHGServer(DHFactory factory) {
-        this.factory = ValidateUtils.checkNotNull(factory, "No factory", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.factory = ValidateUtils.checkNotNull(factory, "No factory");
     }
 
     @Override
@@ -92,7 +92,7 @@ public class DHGServer extends AbstractDHServerKeyExchange {
         K = dh.getK();
 
         byte[] K_S;
-        KeyPair kp = ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available", GenericUtils.EMPTY_OBJECT_ARRAY);
+        KeyPair kp = ValidateUtils.checkNotNull(session.getHostKey(), "No server key pair available");
         String algo = session.getNegotiatedKexParameter(KexProposalOption.SERVERKEYS);
         FactoryManager manager = session.getFactoryManager();
         Signature sig = ValidateUtils.checkNotNull(

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
index 51587c9..ddb15a7 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerConnectionService.java
@@ -36,7 +36,7 @@ public class ServerConnectionService extends AbstractConnectionService {
     protected ServerConnectionService(Session s) throws SshException {
         super(s);
         
-        ValidateUtils.checkTrue(s instanceof ServerSession, "Server side service used on client side", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(s instanceof ServerSession, "Server side service used on client side");
 
         if (!session.isAuthenticated()) {
             throw new SshException("Session is not authenticated");

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSessionImpl.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSessionImpl.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSessionImpl.java
index 800dbc3..e46f4b2 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSessionImpl.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSessionImpl.java
@@ -120,7 +120,7 @@ public class ServerSessionImpl extends AbstractSession implements ServerSession
 
     @Override
     protected void setKexSeed(byte... seed) {
-        I_S = ValidateUtils.checkNotNullAndNotEmpty(seed, "No KEX seed", GenericUtils.EMPTY_OBJECT_ARRAY);
+        I_S = ValidateUtils.checkNotNullAndNotEmpty(seed, "No KEX seed");
     }
 
     @Override
@@ -209,7 +209,7 @@ public class ServerSessionImpl extends AbstractSession implements ServerSession
     @Override
     public KeyPair getHostKey() {
         String value = getNegotiatedKexParameter(KexProposalOption.SERVERKEYS);
-        KeyPairProvider provider = ValidateUtils.checkNotNull(factoryManager.getKeyPairProvider(), "No host keys provider", GenericUtils.EMPTY_OBJECT_ARRAY);
+        KeyPairProvider provider = ValidateUtils.checkNotNull(factoryManager.getKeyPairProvider(), "No host keys provider");
         return provider.loadKey(value);
     }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
index 39c2d16..c29663f 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/session/ServerUserAuthService.java
@@ -56,7 +56,7 @@ public class ServerUserAuthService extends CloseableUtils.AbstractCloseable impl
     private int nbAuthRequests;
 
     public ServerUserAuthService(Session s) throws SshException {
-        ValidateUtils.checkTrue(s instanceof ServerSession, "Server side service used on client side", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkTrue(s instanceof ServerSession, "Server side service used on client side");
         if (s.isAuthenticated()) {
             throw new SshException("Session already authenticated");
         }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
index f4b652b..b62e0e1 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java
@@ -899,7 +899,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
             }
         }
 
-        ValidateUtils.checkNotNullAndNotEmpty(algos, "No hash algorithms specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNullAndNotEmpty(algos, "No hash algorithms specified");
         
         NamedFactory<? extends Digest> factory = null;
         for (String a : algos) {
@@ -918,7 +918,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
         ValidateUtils.checkTrue(startOffset >= 0L, "Invalid start offset: %d", startOffset);
         ValidateUtils.checkTrue(length >= 0L, "Invalid length: %d", length);
         ValidateUtils.checkTrue((blockSize == 0) || (blockSize >= SftpConstants.MIN_CHKFILE_BLOCKSIZE), "Invalid block size: %d", blockSize);
-        ValidateUtils.checkNotNull(factory, "No digest factory provided", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(factory, "No digest factory provided");
         buffer.putString(factory.getName());
         
         long effectiveLength = length;
@@ -1840,7 +1840,7 @@ public class SftpSubsystem extends AbstractLoggingBean implements Command, Runna
                 throw new EOFException("Empty directory");
             }
             
-            ValidateUtils.checkNotNull(reply, "No reply buffer created", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkNotNull(reply, "No reply buffer created");
         } catch (IOException | RuntimeException e) {
             sendStatus(BufferUtils.clear(buffer), id, e);
             return;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java b/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
index f574a97..7e9b40d 100644
--- a/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
+++ b/sshd-core/src/main/java/org/apache/sshd/server/x11/X11ForwardSupport.java
@@ -96,9 +96,9 @@ public class X11ForwardSupport extends CloseableUtils.AbstractInnerCloseable imp
         }
 
         if (acceptor == null) {
-            Session session = ValidateUtils.checkNotNull(service.getSession(), "No session", GenericUtils.EMPTY_OBJECT_ARRAY);
-            FactoryManager manager = ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager", GenericUtils.EMPTY_OBJECT_ARRAY);
-            IoServiceFactory factory = ValidateUtils.checkNotNull(manager.getIoServiceFactory(), "No I/O service factory", GenericUtils.EMPTY_OBJECT_ARRAY);
+            Session session = ValidateUtils.checkNotNull(service.getSession(), "No session");
+            FactoryManager manager = ValidateUtils.checkNotNull(session.getFactoryManager(), "No factory manager");
+            IoServiceFactory factory = ValidateUtils.checkNotNull(manager.getIoServiceFactory(), "No I/O service factory");
             acceptor = factory.createAcceptor(this);
         }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java b/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
index 24cd809..567a263 100644
--- a/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/PortForwardingTest.java
@@ -106,7 +106,7 @@ public class PortForwardingTest extends BaseTestSupport {
             requestsQ.clear();
         }
 
-        final TcpipForwarderFactory factory = ValidateUtils.checkNotNull(sshd.getTcpipForwarderFactory(), "No TcpipForwarderFactory", GenericUtils.EMPTY_OBJECT_ARRAY);
+        final TcpipForwarderFactory factory = ValidateUtils.checkNotNull(sshd.getTcpipForwarderFactory(), "No TcpipForwarderFactory");
         sshd.setTcpipForwarderFactory(new TcpipForwarderFactory() {
                 private final Class<?>[] interfaces = { TcpipForwarder.class };
                 private final Map<String,String> method2req = new TreeMap<String,String>(String.CASE_INSENSITIVE_ORDER) {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/common/signature/AbstractSignatureFactoryTestSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/signature/AbstractSignatureFactoryTestSupport.java b/sshd-core/src/test/java/org/apache/sshd/common/signature/AbstractSignatureFactoryTestSupport.java
index 05c1b39..6376ccb 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/signature/AbstractSignatureFactoryTestSupport.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/signature/AbstractSignatureFactoryTestSupport.java
@@ -52,7 +52,7 @@ public abstract class AbstractSignatureFactoryTestSupport extends BaseTestSuppor
     private final int keySize;
 
     protected AbstractSignatureFactoryTestSupport(String keyType, int keySize) {
-        this.keyType = ValidateUtils.checkNotNullAndNotEmpty(keyType, "No key type specified", GenericUtils.EMPTY_OBJECT_ARRAY);
+        this.keyType = ValidateUtils.checkNotNullAndNotEmpty(keyType, "No key type specified");
         ValidateUtils.checkTrue(keySize > 0, "Invalid key size: %d", keySize);
         this.keySize = keySize;
     }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/common/util/ValidateUtilsTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/util/ValidateUtilsTest.java b/sshd-core/src/test/java/org/apache/sshd/common/util/ValidateUtilsTest.java
index d141a0c..ee60971 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/util/ValidateUtilsTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/util/ValidateUtilsTest.java
@@ -35,7 +35,7 @@ public class ValidateUtilsTest extends BaseTestSupport {
 
     @Test(expected=IllegalArgumentException.class)
     public void checkNotNull() {
-        ValidateUtils.checkNotNull(getClass(), getCurrentTestName(), GenericUtils.EMPTY_OBJECT_ARRAY);
-        ValidateUtils.checkNotNull(null, getCurrentTestName(), GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(getClass(), getCurrentTestName());
+        ValidateUtils.checkNotNull(null, getCurrentTestName());
     }
 }

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/server/subsystem/sftp/SshFsMounter.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/server/subsystem/sftp/SshFsMounter.java b/sshd-core/src/test/java/org/apache/sshd/server/subsystem/sftp/SshFsMounter.java
index bb8e12a..11b97a6 100644
--- a/sshd-core/src/test/java/org/apache/sshd/server/subsystem/sftp/SshFsMounter.java
+++ b/sshd-core/src/test/java/org/apache/sshd/server/subsystem/sftp/SshFsMounter.java
@@ -74,11 +74,11 @@ public class SshFsMounter {
         private Future<?> future;
 
         public MounterCommand(String command) {
-            this.command = ValidateUtils.checkNotNullAndNotEmpty(command, "No command", GenericUtils.EMPTY_OBJECT_ARRAY);
+            this.command = ValidateUtils.checkNotNullAndNotEmpty(command, "No command");
 
             String[] comps = GenericUtils.split(this.command, ' ');
             int numComps = GenericUtils.length(comps);
-            cmdName = GenericUtils.trimToEmpty(ValidateUtils.checkNotNullAndNotEmpty(comps[0], "No command name", GenericUtils.EMPTY_OBJECT_ARRAY));
+            cmdName = GenericUtils.trimToEmpty(ValidateUtils.checkNotNullAndNotEmpty(comps[0], "No command name"));
             if (numComps > 1) {
                 args = new ArrayList<String>(numComps - 1);
                 for (int index = 1; index < numComps; index++) {
@@ -298,7 +298,7 @@ public class SshFsMounter {
         props.putAll(options);
         sshd.setPort(port);
 
-        File targetFolder = ValidateUtils.checkNotNull(Utils.detectTargetFolder(MounterCommandFactory.class), "Failed to detect target folder", GenericUtils.EMPTY_OBJECT_ARRAY);
+        File targetFolder = ValidateUtils.checkNotNull(Utils.detectTargetFolder(MounterCommandFactory.class), "Failed to detect target folder");
         if (SecurityUtils.isBouncyCastleRegistered()) {
             sshd.setKeyPairProvider(SecurityUtils.createGeneratorHostKeyProvider(new File(targetFolder, "key.pem").toPath()));
         } else {

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/util/BaseTestSupport.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/util/BaseTestSupport.java b/sshd-core/src/test/java/org/apache/sshd/util/BaseTestSupport.java
index d412786..805dca4 100644
--- a/sshd-core/src/test/java/org/apache/sshd/util/BaseTestSupport.java
+++ b/sshd-core/src/test/java/org/apache/sshd/util/BaseTestSupport.java
@@ -107,7 +107,7 @@ public abstract class BaseTestSupport extends Assert {
     protected File detectTargetFolder() throws IllegalStateException {
         synchronized(TEMP_SUBFOLDER_NAME) {
             if (targetFolder == null) {
-                targetFolder = ValidateUtils.checkNotNull(Utils.detectTargetFolder(getClass()), "Failed to detect target folder", GenericUtils.EMPTY_OBJECT_ARRAY);
+                targetFolder = ValidateUtils.checkNotNull(Utils.detectTargetFolder(getClass()), "Failed to detect target folder");
             }
         }
 

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-core/src/test/java/org/apache/sshd/util/Utils.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/util/Utils.java b/sshd-core/src/test/java/org/apache/sshd/util/Utils.java
index c37b147..ee8139a 100644
--- a/sshd-core/src/test/java/org/apache/sshd/util/Utils.java
+++ b/sshd-core/src/test/java/org/apache/sshd/util/Utils.java
@@ -62,7 +62,7 @@ public class Utils {
         }
 
         
-        File targetFolder = ValidateUtils.checkNotNull(detectTargetFolder(Utils.class), "Failed to detect target folder", GenericUtils.EMPTY_OBJECT_ARRAY);
+        File targetFolder = ValidateUtils.checkNotNull(detectTargetFolder(Utils.class), "Failed to detect target folder");
         File file = new File(targetFolder, "hostkey." + DEFAULT_TEST_HOST_KEY_PROVIDER_ALGORITHM.toLowerCase());
         SimpleGeneratorHostKeyProvider keyProvider = new SimpleGeneratorHostKeyProvider();
         keyProvider.setFile(file);
@@ -100,12 +100,12 @@ public class Utils {
     }
 
     private static <P extends KeyPairProvider> P validateKeyPairProvider(P provider) {
-        ValidateUtils.checkNotNull(provider, "No provider", GenericUtils.EMPTY_OBJECT_ARRAY);
+        ValidateUtils.checkNotNull(provider, "No provider");
 
         // get the I/O out of the way
-        Iterable<KeyPair>   keys=ValidateUtils.checkNotNull(provider.loadKeys(), "No keys loaded", GenericUtils.EMPTY_OBJECT_ARRAY);
+        Iterable<KeyPair>   keys=ValidateUtils.checkNotNull(provider.loadKeys(), "No keys loaded");
         if (keys instanceof Collection<?>) {
-            ValidateUtils.checkNotNullAndNotEmpty((Collection<?>) keys, "Empty keys loaded", GenericUtils.EMPTY_OBJECT_ARRAY);
+            ValidateUtils.checkNotNullAndNotEmpty((Collection<?>) keys, "Empty keys loaded");
         }
         
         return provider;

http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/ec48d8b6/sshd-git/src/main/java/org/apache/sshd/git/transport/GitSshdSessionFactory.java
----------------------------------------------------------------------
diff --git a/sshd-git/src/main/java/org/apache/sshd/git/transport/GitSshdSessionFactory.java b/sshd-git/src/main/java/org/apache/sshd/git/transport/GitSshdSessionFactory.java
index ec7a544..eeb8807 100644
--- a/sshd-git/src/main/java/org/apache/sshd/git/transport/GitSshdSessionFactory.java
+++ b/sshd-git/src/main/java/org/apache/sshd/git/transport/GitSshdSessionFactory.java
@@ -145,7 +145,7 @@ public class GitSshdSessionFactory extends SshSessionFactory {
 
                 @Override
                 public int exitValue() {
-                    Integer status = ValidateUtils.checkNotNull(channel.getExitStatus(), "No channel status available", GenericUtils.EMPTY_OBJECT_ARRAY);
+                    Integer status = ValidateUtils.checkNotNull(channel.getExitStatus(), "No channel status available");
                     return status.intValue();
                 }