No need to nest in else.
diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java
index 256d1f1..b054253 100644
--- a/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java
+++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodec.java
@@ -456,11 +456,11 @@
     public Object decode(final Object obj) throws DecoderException {
         if (obj instanceof byte[]) {
             return decode((byte[]) obj);
-        } else if (obj instanceof String) {
-            return decode((String) obj);
-        } else {
-            throw new DecoderException("Parameter supplied to Base-N decode is not a byte[] or a String");
         }
+        if (obj instanceof String) {
+            return decode((String) obj);
+        }
+        throw new DecoderException("Parameter supplied to Base-N decode is not a byte[] or a String");
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
index ff99e5c..f225aab 100644
--- a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
+++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
@@ -145,42 +145,43 @@
         Objects.requireNonNull(array, "array");
         if (offset < 0 || len < 0) {
             throw new IndexOutOfBoundsException();
-        } else if (offset > array.length || offset + len > array.length) {
-            throw new IndexOutOfBoundsException();
-        } else if (len == 0) {
-            return 0;
-        } else {
-            int readLen = 0;
-            /*
-             Rationale for while-loop on (readLen == 0):
-             -----
-             Base32.readResults() usually returns > 0 or EOF (-1).  In the
-             rare case where it returns 0, we just keep trying.
-
-             This is essentially an undocumented contract for InputStream
-             implementors that want their code to work properly with
-             java.io.InputStreamReader, since the latter hates it when
-             InputStream.read(byte[]) returns a zero.  Unfortunately our
-             readResults() call must return 0 if a large amount of the data
-             being decoded was non-base32, so this while-loop enables proper
-             interop with InputStreamReader for that scenario.
-             -----
-             This is a fix for CODEC-101
-            */
-            while (readLen == 0) {
-                if (!baseNCodec.hasData(context)) {
-                    final byte[] buf = new byte[doEncode ? 4096 : 8192];
-                    final int c = in.read(buf);
-                    if (doEncode) {
-                        baseNCodec.encode(buf, 0, c, context);
-                    } else {
-                        baseNCodec.decode(buf, 0, c, context);
-                    }
-                }
-                readLen = baseNCodec.readResults(array, offset, len, context);
-            }
-            return readLen;
         }
+        if (offset > array.length || offset + len > array.length) {
+            throw new IndexOutOfBoundsException();
+        }
+        if (len == 0) {
+            return 0;
+        }
+        int readLen = 0;
+        /*
+         Rationale for while-loop on (readLen == 0):
+         -----
+         Base32.readResults() usually returns > 0 or EOF (-1).  In the
+         rare case where it returns 0, we just keep trying.
+
+         This is essentially an undocumented contract for InputStream
+         implementors that want their code to work properly with
+         java.io.InputStreamReader, since the latter hates it when
+         InputStream.read(byte[]) returns a zero.  Unfortunately our
+         readResults() call must return 0 if a large amount of the data
+         being decoded was non-base32, so this while-loop enables proper
+         interop with InputStreamReader for that scenario.
+         -----
+         This is a fix for CODEC-101
+        */
+        while (readLen == 0) {
+            if (!baseNCodec.hasData(context)) {
+                final byte[] buf = new byte[doEncode ? 4096 : 8192];
+                final int c = in.read(buf);
+                if (doEncode) {
+                    baseNCodec.encode(buf, 0, c, context);
+                } else {
+                    baseNCodec.decode(buf, 0, c, context);
+                }
+            }
+            readLen = baseNCodec.readResults(array, offset, len, context);
+        }
+        return readLen;
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java b/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java
index 074f96d..16cb6cd 100644
--- a/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java
+++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodecOutputStream.java
@@ -166,9 +166,11 @@
         Objects.requireNonNull(array, "array");
         if (offset < 0 || len < 0) {
             throw new IndexOutOfBoundsException();
-        } else if (offset > array.length || offset + len > array.length) {
+        }
+        if (offset > array.length || offset + len > array.length) {
             throw new IndexOutOfBoundsException();
-        } else if (len > 0) {
+        }
+        if (len > 0) {
             if (doEncode) {
                 baseNCodec.encode(array, offset, len, context);
             } else {
diff --git a/src/main/java/org/apache/commons/codec/binary/Hex.java b/src/main/java/org/apache/commons/codec/binary/Hex.java
index 7075ab9..5e086b6 100644
--- a/src/main/java/org/apache/commons/codec/binary/Hex.java
+++ b/src/main/java/org/apache/commons/codec/binary/Hex.java
@@ -451,16 +451,17 @@
     public Object decode(final Object object) throws DecoderException {
         if (object instanceof String) {
             return decode(((String) object).toCharArray());
-        } else if (object instanceof byte[]) {
+        }
+        if (object instanceof byte[]) {
             return decode((byte[]) object);
-        } else if (object instanceof ByteBuffer) {
+        }
+        if (object instanceof ByteBuffer) {
             return decode((ByteBuffer) object);
-        } else {
-            try {
-                return decodeHex((char[]) object);
-            } catch (final ClassCastException e) {
-                throw new DecoderException(e.getMessage(), e);
-            }
+        }
+        try {
+            return decodeHex((char[]) object);
+        } catch (final ClassCastException e) {
+            throw new DecoderException(e.getMessage(), e);
         }
     }
 
diff --git a/src/main/java/org/apache/commons/codec/digest/Crypt.java b/src/main/java/org/apache/commons/codec/digest/Crypt.java
index e73ec9f..f6ac066 100644
--- a/src/main/java/org/apache/commons/codec/digest/Crypt.java
+++ b/src/main/java/org/apache/commons/codec/digest/Crypt.java
@@ -74,15 +74,17 @@
     public static String crypt(final byte[] keyBytes, final String salt) {
         if (salt == null) {
             return Sha2Crypt.sha512Crypt(keyBytes);
-        } else if (salt.startsWith(Sha2Crypt.SHA512_PREFIX)) {
-            return Sha2Crypt.sha512Crypt(keyBytes, salt);
-        } else if (salt.startsWith(Sha2Crypt.SHA256_PREFIX)) {
-            return Sha2Crypt.sha256Crypt(keyBytes, salt);
-        } else if (salt.startsWith(Md5Crypt.MD5_PREFIX)) {
-            return Md5Crypt.md5Crypt(keyBytes, salt);
-        } else {
-            return UnixCrypt.crypt(keyBytes, salt);
         }
+        if (salt.startsWith(Sha2Crypt.SHA512_PREFIX)) {
+            return Sha2Crypt.sha512Crypt(keyBytes, salt);
+        }
+        if (salt.startsWith(Sha2Crypt.SHA256_PREFIX)) {
+            return Sha2Crypt.sha256Crypt(keyBytes, salt);
+        }
+        if (salt.startsWith(Md5Crypt.MD5_PREFIX)) {
+            return Md5Crypt.md5Crypt(keyBytes, salt);
+        }
+        return UnixCrypt.crypt(keyBytes, salt);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
index cff0f1e..4d4c74a 100644
--- a/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
+++ b/src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java
@@ -520,11 +520,10 @@
 
                             nextBranch.processNextReplacement(nextReplacement, force);
 
-                            if (branching) {
-                                nextBranches.add(nextBranch);
-                            } else {
+                            if (!branching) {
                                 break;
                             }
+                            nextBranches.add(nextBranch);
                         }
                     }
 
diff --git a/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java b/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
index 63e0922..ec2a2e0 100644
--- a/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
+++ b/src/main/java/org/apache/commons/codec/language/DoubleMetaphone.java
@@ -354,26 +354,27 @@
         if (index > 0 && contains(value, index, 4, "CHAE")) {   // Michael
             result.append('K', 'X');
             return index + 2;
-        } else if (conditionCH0(value, index)) {
+        }
+        if (conditionCH0(value, index)) {
             //-- Greek roots ("chemistry", "chorus", etc.) --//
             result.append('K');
             return index + 2;
-        } else if (conditionCH1(value, index)) {
+        }
+        if (conditionCH1(value, index)) {
             //-- Germanic, Greek, or otherwise 'ch' for 'kh' sound --//
             result.append('K');
             return index + 2;
-        } else {
-            if (index > 0) {
-                if (contains(value, 0, 2, "MC")) {
-                    result.append('K');
-                } else {
-                    result.append('X', 'K');
-                }
-            } else {
-                result.append('X');
-            }
-            return index + 2;
         }
+        if (index > 0) {
+            if (contains(value, 0, 2, "MC")) {
+                result.append('K');
+            } else {
+                result.append('X', 'K');
+            }
+        } else {
+            result.append('X');
+        }
+        return index + 2;
     }
 
     /**
@@ -779,17 +780,19 @@
     private boolean conditionC0(final String value, final int index) {
         if (contains(value, index, 4, "CHIA")) {
             return true;
-        } else if (index <= 1) {
-            return false;
-        } else if (isVowel(charAt(value, index - 2))) {
-            return false;
-        } else if (!contains(value, index - 1, 3, "ACH")) {
-            return false;
-        } else {
-            final char c = charAt(value, index + 2);
-            return (c != 'I' && c != 'E') ||
-                    contains(value, index - 2, 6, "BACHER", "MACHER");
         }
+        if (index <= 1) {
+            return false;
+        }
+        if (isVowel(charAt(value, index - 2))) {
+            return false;
+        }
+        if (!contains(value, index - 1, 3, "ACH")) {
+            return false;
+        }
+        final char c = charAt(value, index + 2);
+        return (c != 'I' && c != 'E') ||
+                contains(value, index - 2, 6, "BACHER", "MACHER");
     }
 
     /**
@@ -798,14 +801,15 @@
     private boolean conditionCH0(final String value, final int index) {
         if (index != 0) {
             return false;
-        } else if (!contains(value, index + 1, 5, "HARAC", "HARIS") &&
+        }
+        if (!contains(value, index + 1, 5, "HARAC", "HARIS") &&
                    !contains(value, index + 1, 3, "HOR", "HYM", "HIA", "HEM")) {
             return false;
-        } else if (contains(value, 0, 5, "CHORE")) {
-            return false;
-        } else {
-            return true;
         }
+        if (contains(value, 0, 5, "CHORE")) {
+            return false;
+        }
+        return true;
     }
 
     /**
@@ -826,13 +830,13 @@
         if (index == value.length() - 3 &&
             contains(value, index - 1, 4, "ILLO", "ILLA", "ALLE")) {
             return true;
-        } else if ((contains(value, value.length() - 2, 2, "AS", "OS") ||
+        }
+        if ((contains(value, value.length() - 2, 2, "AS", "OS") ||
                     contains(value, value.length() - 1, 1, "A", "O")) &&
                    contains(value, index - 1, 4, "ALLE")) {
             return true;
-        } else {
-            return false;
         }
+        return false;
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java b/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
index 50f6e81..dc56fb4 100644
--- a/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
+++ b/src/main/java/org/apache/commons/codec/language/MatchRatingApproachEncoder.java
@@ -212,11 +212,14 @@
         // Bulletproof for trivial input - NINO
         if (name1 == null || EMPTY.equalsIgnoreCase(name1) || SPACE.equalsIgnoreCase(name1)) {
             return false;
-        } else if (name2 == null || EMPTY.equalsIgnoreCase(name2) || SPACE.equalsIgnoreCase(name2)) {
+        }
+        if (name2 == null || EMPTY.equalsIgnoreCase(name2) || SPACE.equalsIgnoreCase(name2)) {
             return false;
-        } else if (name1.length() == 1 || name2.length() == 1) {
+        }
+        if (name1.length() == 1 || name2.length() == 1) {
             return false;
-        } else if (name1.equalsIgnoreCase(name2)) {
+        }
+        if (name1.equalsIgnoreCase(name2)) {
             return true;
         }
 
diff --git a/src/main/java/org/apache/commons/codec/language/RefinedSoundex.java b/src/main/java/org/apache/commons/codec/language/RefinedSoundex.java
index e98f1a0..72a914a 100644
--- a/src/main/java/org/apache/commons/codec/language/RefinedSoundex.java
+++ b/src/main/java/org/apache/commons/codec/language/RefinedSoundex.java
@@ -204,7 +204,8 @@
             current = getMappingCode(str.charAt(i));
             if (current == last) {
                 continue;
-            } else if (current != 0) {
+            }
+            if (current != 0) {
                 sBuf.append(current);
             }
 
diff --git a/src/main/java/org/apache/commons/codec/language/bm/Languages.java b/src/main/java/org/apache/commons/codec/language/bm/Languages.java
index 778b072..4e058ed 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/Languages.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/Languages.java
@@ -120,32 +120,32 @@
         public LanguageSet restrictTo(final LanguageSet other) {
             if (other == NO_LANGUAGES) {
                 return other;
-            } else if (other == ANY_LANGUAGE) {
-                return this;
-            } else {
-                final SomeLanguages someLanguages = (SomeLanguages) other;
-                final Set<String> set = new HashSet<>(Math.min(languages.size(), someLanguages.languages.size()));
-                for (final String lang : languages) {
-                    if (someLanguages.languages.contains(lang)) {
-                        set.add(lang);
-                    }
-                }
-                return from(set);
             }
+            if (other == ANY_LANGUAGE) {
+                return this;
+            }
+            final SomeLanguages someLanguages = (SomeLanguages) other;
+            final Set<String> set = new HashSet<>(Math.min(languages.size(), someLanguages.languages.size()));
+            for (final String lang : languages) {
+                if (someLanguages.languages.contains(lang)) {
+                    set.add(lang);
+                }
+            }
+            return from(set);
         }
 
         @Override
         public LanguageSet merge(final LanguageSet other) {
             if (other == NO_LANGUAGES) {
                 return this;
-            } else if (other == ANY_LANGUAGE) {
-                return other;
-            } else {
-                final SomeLanguages someLanguages = (SomeLanguages) other;
-                final Set<String> set = new HashSet<>(languages);
-                set.addAll(someLanguages.languages);
-                return from(set);
             }
+            if (other == ANY_LANGUAGE) {
+                return other;
+            }
+            final SomeLanguages someLanguages = (SomeLanguages) other;
+            final Set<String> set = new HashSet<>(languages);
+            set.addAll(someLanguages.languages);
+            return from(set);
         }
 
         @Override
diff --git a/src/main/java/org/apache/commons/codec/language/bm/Rule.java b/src/main/java/org/apache/commons/codec/language/bm/Rule.java
index 1939945..f46f544 100644
--- a/src/main/java/org/apache/commons/codec/language/bm/Rule.java
+++ b/src/main/java/org/apache/commons/codec/language/bm/Rule.java
@@ -515,10 +515,12 @@
                         return input.equals(content);
                     }
                 };
-            } else if ((startsWith || endsWith) && content.isEmpty()) {
+            }
+            if ((startsWith || endsWith) && content.isEmpty()) {
                 // matches every string
                 return ALL_STRINGS_RMATCHER;
-            } else if (startsWith) {
+            }
+            if (startsWith) {
                 // matches from start
                 return new RPattern() {
                     @Override
@@ -526,7 +528,8 @@
                         return startsWith(input, content);
                     }
                 };
-            } else if (endsWith) {
+            }
+            if (endsWith) {
                 // matches from start
                 return new RPattern() {
                     @Override
@@ -558,7 +561,8 @@
                                 return input.length() == 1 && contains(bContent, input.charAt(0)) == shouldMatch;
                             }
                         };
-                    } else if (startsWith) {
+                    }
+                    if (startsWith) {
                         // first char
                         return new RPattern() {
                             @Override
@@ -566,7 +570,8 @@
                                 return input.length() > 0 && contains(bContent, input.charAt(0)) == shouldMatch;
                             }
                         };
-                    } else if (endsWith) {
+                    }
+                    if (endsWith) {
                         // last char
                         return new RPattern() {
                             @Override
@@ -706,7 +711,8 @@
         // fail early if any of the evaluations is not successful
         if (!input.subSequence(i, ipl).equals(this.pattern)) {
             return false;
-        } else if (!this.rContext.isMatch(input.subSequence(ipl, input.length()))) {
+        }
+        if (!this.rContext.isMatch(input.subSequence(ipl, input.length()))) {
             return false;
         }
         return this.lContext.isMatch(input.subSequence(0, i));
diff --git a/src/main/java/org/apache/commons/codec/net/BCodec.java b/src/main/java/org/apache/commons/codec/net/BCodec.java
index 46263c2..6da4600 100644
--- a/src/main/java/org/apache/commons/codec/net/BCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/BCodec.java
@@ -241,13 +241,13 @@
     public Object encode(final Object value) throws EncoderException {
         if (value == null) {
             return null;
-        } else if (value instanceof String) {
-            return encode((String) value);
-        } else {
-            throw new EncoderException("Objects of type " +
-                  value.getClass().getName() +
-                  " cannot be encoded using BCodec");
         }
+        if (value instanceof String) {
+            return encode((String) value);
+        }
+        throw new EncoderException("Objects of type " +
+              value.getClass().getName() +
+              " cannot be encoded using BCodec");
     }
 
     /**
@@ -265,13 +265,13 @@
     public Object decode(final Object value) throws DecoderException {
         if (value == null) {
             return null;
-        } else if (value instanceof String) {
-            return decode((String) value);
-        } else {
-            throw new DecoderException("Objects of type " +
-                  value.getClass().getName() +
-                  " cannot be decoded using BCodec");
         }
+        if (value instanceof String) {
+            return decode((String) value);
+        }
+        throw new DecoderException("Objects of type " +
+              value.getClass().getName() +
+              " cannot be decoded using BCodec");
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/net/PercentCodec.java b/src/main/java/org/apache/commons/codec/net/PercentCodec.java
index 2c0ca4c..16e3320 100644
--- a/src/main/java/org/apache/commons/codec/net/PercentCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/PercentCodec.java
@@ -236,11 +236,11 @@
     public Object encode(final Object obj) throws EncoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return encode((byte[]) obj);
-        } else {
-            throw new EncoderException("Objects of type " + obj.getClass().getName() + " cannot be Percent encoded");
         }
+        if (obj instanceof byte[]) {
+            return encode((byte[]) obj);
+        }
+        throw new EncoderException("Objects of type " + obj.getClass().getName() + " cannot be Percent encoded");
     }
 
     /**
@@ -254,10 +254,10 @@
     public Object decode(final Object obj) throws DecoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return decode((byte[]) obj);
-        } else {
-            throw new DecoderException("Objects of type " + obj.getClass().getName() + " cannot be Percent decoded");
         }
+        if (obj instanceof byte[]) {
+            return decode((byte[]) obj);
+        }
+        throw new DecoderException("Objects of type " + obj.getClass().getName() + " cannot be Percent decoded");
     }
 }
diff --git a/src/main/java/org/apache/commons/codec/net/QCodec.java b/src/main/java/org/apache/commons/codec/net/QCodec.java
index 0250e08..5a6745f 100644
--- a/src/main/java/org/apache/commons/codec/net/QCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/QCodec.java
@@ -285,13 +285,13 @@
     public Object encode(final Object obj) throws EncoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof String) {
-            return encode((String) obj);
-        } else {
-            throw new EncoderException("Objects of type " +
-                  obj.getClass().getName() +
-                  " cannot be encoded using Q codec");
         }
+        if (obj instanceof String) {
+            return encode((String) obj);
+        }
+        throw new EncoderException("Objects of type " +
+              obj.getClass().getName() +
+              " cannot be encoded using Q codec");
     }
 
     /**
@@ -309,13 +309,13 @@
     public Object decode(final Object obj) throws DecoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof String) {
-            return decode((String) obj);
-        } else {
-            throw new DecoderException("Objects of type " +
-                  obj.getClass().getName() +
-                  " cannot be decoded using Q codec");
         }
+        if (obj instanceof String) {
+            return decode((String) obj);
+        }
+        throw new DecoderException("Objects of type " +
+              obj.getClass().getName() +
+              " cannot be decoded using Q codec");
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java b/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java
index 5641dc8..7ab7707 100644
--- a/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/QuotedPrintableCodec.java
@@ -507,15 +507,16 @@
     public Object encode(final Object obj) throws EncoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return encode((byte[]) obj);
-        } else if (obj instanceof String) {
-            return encode((String) obj);
-        } else {
-            throw new EncoderException("Objects of type " +
-                  obj.getClass().getName() +
-                  " cannot be quoted-printable encoded");
         }
+        if (obj instanceof byte[]) {
+            return encode((byte[]) obj);
+        }
+        if (obj instanceof String) {
+            return encode((String) obj);
+        }
+        throw new EncoderException("Objects of type " +
+              obj.getClass().getName() +
+              " cannot be quoted-printable encoded");
     }
 
     /**
@@ -533,15 +534,16 @@
     public Object decode(final Object obj) throws DecoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return decode((byte[]) obj);
-        } else if (obj instanceof String) {
-            return decode((String) obj);
-        } else {
-            throw new DecoderException("Objects of type " +
-                  obj.getClass().getName() +
-                  " cannot be quoted-printable decoded");
         }
+        if (obj instanceof byte[]) {
+            return decode((byte[]) obj);
+        }
+        if (obj instanceof String) {
+            return decode((String) obj);
+        }
+        throw new DecoderException("Objects of type " +
+              obj.getClass().getName() +
+              " cannot be quoted-printable decoded");
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/codec/net/URLCodec.java b/src/main/java/org/apache/commons/codec/net/URLCodec.java
index 5c19bc6..d5809f3 100644
--- a/src/main/java/org/apache/commons/codec/net/URLCodec.java
+++ b/src/main/java/org/apache/commons/codec/net/URLCodec.java
@@ -315,14 +315,14 @@
     public Object encode(final Object obj) throws EncoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return encode((byte[])obj);
-        } else if (obj instanceof String) {
-            return encode((String)obj);
-        } else {
-            throw new EncoderException("Objects of type " + obj.getClass().getName() + " cannot be URL encoded");
-
         }
+        if (obj instanceof byte[]) {
+            return encode((byte[])obj);
+        }
+        if (obj instanceof String) {
+            return encode((String)obj);
+        }
+        throw new EncoderException("Objects of type " + obj.getClass().getName() + " cannot be URL encoded");
     }
 
     /**
@@ -340,14 +340,14 @@
     public Object decode(final Object obj) throws DecoderException {
         if (obj == null) {
             return null;
-        } else if (obj instanceof byte[]) {
-            return decode((byte[]) obj);
-        } else if (obj instanceof String) {
-            return decode((String) obj);
-        } else {
-            throw new DecoderException("Objects of type " + obj.getClass().getName() + " cannot be URL decoded");
-
         }
+        if (obj instanceof byte[]) {
+            return decode((byte[]) obj);
+        }
+        if (obj instanceof String) {
+            return decode((String) obj);
+        }
+        throw new DecoderException("Objects of type " + obj.getClass().getName() + " cannot be URL decoded");
     }
 
     /**