You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2016/12/08 18:41:54 UTC

[2/3] mina git commit: o Fixed some missing Javadoc o Fixed numerous Sonarlint issues

o Fixed some missing Javadoc
o Fixed numerous Sonarlint issues

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

Branch: refs/heads/2.0
Commit: a9c468fb4ec72ff1b8f275f5f5f4a35aaac66359
Parents: f103176
Author: Emmanuel L�charny <el...@symas.com>
Authored: Thu Dec 8 10:28:41 2016 +0100
Committer: Emmanuel L�charny <el...@symas.com>
Committed: Thu Dec 8 19:41:15 2016 +0100

----------------------------------------------------------------------
 .../filter/codec/CumulativeProtocolDecoder.java |  7 +-
 .../mina/filter/codec/ProtocolCodecFilter.java  | 43 ++++++++++++
 .../mina/filter/codec/ProtocolCodecSession.java |  8 +++
 .../filter/codec/ProtocolDecoderAdapter.java    |  2 +
 .../filter/codec/ProtocolEncoderAdapter.java    |  1 +
 .../codec/SynchronizedProtocolDecoder.java      |  6 ++
 .../codec/SynchronizedProtocolEncoder.java      |  2 +
 .../ObjectSerializationCodecFactory.java        |  2 +
 .../ObjectSerializationEncoder.java             |  1 +
 .../ObjectSerializationInputStream.java         | 22 +++++-
 .../ObjectSerializationOutputStream.java        | 12 ++++
 .../ConsumeToCrLfDecodingState.java             |  5 ++
 ...ConsumeToDynamicTerminatorDecodingState.java |  2 +
 .../ConsumeToEndOfSessionDecodingState.java     |  2 +
 .../ConsumeToTerminatorDecodingState.java       |  2 +
 .../codec/statemachine/CrLfDecodingState.java   |  2 +
 .../statemachine/DecodingStateMachine.java      | 12 +++-
 .../DecodingStateProtocolDecoder.java           |  7 +-
 .../statemachine/FixedLengthDecodingState.java  |  7 ++
 .../statemachine/IntegerDecodingState.java      |  2 +
 .../statemachine/ShortIntegerDecodingState.java | 22 +++---
 .../statemachine/SingleByteDecodingState.java   |  6 +-
 .../codec/statemachine/SkippingState.java       |  5 ++
 .../codec/textline/TextLineCodecFactory.java    |  2 +
 .../filter/codec/textline/TextLineDecoder.java  |  5 +-
 .../filter/codec/textline/TextLineEncoder.java  |  3 +-
 .../errorgenerating/ErrorGeneratingFilter.java  | 53 ++++++++++----
 .../executor/DefaultIoEventSizeEstimator.java   |  5 +-
 .../mina/filter/executor/ExecutorFilter.java    | 60 ++++++++--------
 .../filter/executor/IoEventQueueHandler.java    | 12 ++++
 .../filter/executor/IoEventQueueThrottle.java   | 43 +++++++++++-
 .../executor/OrderedThreadPoolExecutor.java     | 35 ++++------
 .../executor/UnorderedThreadPoolExecutor.java   | 73 ++++++++++++++++++--
 .../filter/executor/WriteRequestFilter.java     |  7 ++
 .../mina/filter/logging/MdcInjectionFilter.java | 59 ++++++++++++++--
 .../stream/AbstractStreamWriteFilter.java       | 34 +++++++--
 .../filter/stream/FileRegionWriteFilter.java    |  9 ++-
 .../mina/filter/stream/StreamWriteFilter.java   | 13 ++--
 .../mina/filter/util/CommonEventFilter.java     | 32 +++++++--
 .../org/apache/mina/filter/util/NoopFilter.java |  6 --
 .../filter/util/ReferenceCountingFilter.java    | 65 ++++++++++++++---
 .../SessionAttributeInitializingFilter.java     | 11 ++-
 .../mina/filter/util/WriteRequestFilter.java    | 10 +++
 43 files changed, 579 insertions(+), 138 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
index e950303..fc3ace9 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/CumulativeProtocolDecoder.java
@@ -100,7 +100,7 @@ import org.apache.mina.core.session.IoSession;
  */
 public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
     /** The buffer used to store the data in the session */
-    private final AttributeKey BUFFER = new AttributeKey(getClass(), "buffer");
+    private static final AttributeKey BUFFER = new AttributeKey(CumulativeProtocolDecoder.class, "buffer");
     
     /** A flag set to true if we handle fragmentation accordingly to the TransportMetadata setting. 
      * It can be set to false if needed (UDP with fragments, for instance). the default value is 'true'
@@ -125,6 +125,7 @@ public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
      *             if your <tt>doDecode()</tt> returned <tt>true</tt> not
      *             consuming the cumulative buffer.
      */
+    @Override
     public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         if (transportMetadataFragmentation && !session.getTransportMetadata().hasFragmentation()) {
             while (in.hasRemaining()) {
@@ -147,11 +148,9 @@ public abstract class CumulativeProtocolDecoder extends ProtocolDecoderAdapter {
                 try {
                     buf.put(in);
                     appended = true;
-                } catch (IllegalStateException e) {
+                } catch (IllegalStateException | IndexOutOfBoundsException e) {
                     // A user called derivation method (e.g. slice()),
                     // which disables auto-expansion of the parent buffer.
-                } catch (IndexOutOfBoundsException e) {
-                    // A user disabled auto-expansion.
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
index 1f47928..97a76ea 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
@@ -98,10 +98,18 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
 
         // Create the inner Factory based on the two parameters
         this.factory = new ProtocolCodecFactory() {
+            /**
+             * {@inheritDoc}
+             */
+            @Override
             public ProtocolEncoder getEncoder(IoSession session) {
                 return encoder;
             }
 
+            /**
+             * {@inheritDoc}
+             */
+            @Override
             public ProtocolDecoder getDecoder(IoSession session) {
                 return decoder;
             }
@@ -160,10 +168,18 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
 
         // Create the inner factory based on the two parameters.
         this.factory = new ProtocolCodecFactory() {
+            /**
+             * {@inheritDoc}
+             */
+            @Override
             public ProtocolEncoder getEncoder(IoSession session) throws Exception {
                 return encoder;
             }
 
+            /**
+             * {@inheritDoc}
+             */
+            @Override
             public ProtocolDecoder getDecoder(IoSession session) throws Exception {
                 return decoder;
             }
@@ -180,6 +196,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
         return (ProtocolEncoder) session.getAttribute(ENCODER);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void onPreAdd(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
         if (parent.contains(this)) {
@@ -188,6 +207,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void onPostRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws Exception {
         // Clean everything
@@ -260,6 +282,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void messageSent(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
         if (writeRequest instanceof EncodedWriteRequest) {
@@ -274,6 +299,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
         Object message = writeRequest.getMessage();
@@ -334,6 +362,9 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public void sessionClosed(NextFilter nextFilter, IoSession session) throws Exception {
         // Call finishDecode() first when a connection is closed.
@@ -365,6 +396,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
             super(encodedMessage, future, destination);
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public boolean isEncoded() {
             return true;
         }
@@ -391,6 +426,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
             // Do nothing
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void flush(NextFilter nextFilter, IoSession session) {
             Queue<Object> messageQueue = getMessageQueue();
 
@@ -416,6 +455,10 @@ public class ProtocolCodecFilter extends IoFilterAdapter {
             destination = writeRequest.getDestination();
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public WriteFuture flush() {
             Queue<Object> bufferQueue = getMessageQueue();
             WriteFuture future = null;

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
index 4ef234a..2b5f89c 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecSession.java
@@ -63,12 +63,20 @@ public class ProtocolCodecSession extends DummySession {
             new UnsupportedOperationException());
 
     private final AbstractProtocolEncoderOutput encoderOutput = new AbstractProtocolEncoderOutput() {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public WriteFuture flush() {
             return notWrittenFuture;
         }
     };
 
     private final AbstractProtocolDecoderOutput decoderOutput = new AbstractProtocolDecoderOutput() {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void flush(NextFilter nextFilter, IoSession session) {
             // Do nothing
         }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
index d4eea25..7bb6147 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolDecoderAdapter.java
@@ -34,6 +34,7 @@ public abstract class ProtocolDecoderAdapter implements ProtocolDecoder {
      * Override this method to deal with the closed connection.
      * The default implementation does nothing.
      */
+    @Override
     public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
         // Do nothing
     }
@@ -42,6 +43,7 @@ public abstract class ProtocolDecoderAdapter implements ProtocolDecoder {
      * Override this method to dispose all resources related with this decoder.
      * The default implementation does nothing.
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         // Do nothing
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
index 2f62ba5..dd32171 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/ProtocolEncoderAdapter.java
@@ -32,6 +32,7 @@ public abstract class ProtocolEncoderAdapter implements ProtocolEncoder {
      * Override this method dispose all resources related with this encoder.
      * The default implementation does nothing.
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         // Do nothing
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
index 6cb1d69..eda5dbe 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolDecoder.java
@@ -56,6 +56,10 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
         return decoder;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         synchronized (decoder) {
             decoder.decode(session, in, out);
@@ -65,6 +69,7 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
         synchronized (decoder) {
             decoder.finishDecode(session, out);
@@ -74,6 +79,7 @@ public class SynchronizedProtocolDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         synchronized (decoder) {
             decoder.dispose(session);

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
index 49c7c66..21d40cf 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/SynchronizedProtocolEncoder.java
@@ -55,6 +55,7 @@ public class SynchronizedProtocolEncoder implements ProtocolEncoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
         synchronized (encoder) {
             encoder.encode(session, message, out);
@@ -64,6 +65,7 @@ public class SynchronizedProtocolEncoder implements ProtocolEncoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         synchronized (encoder) {
             encoder.dispose(session);

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
index fefe24e..ac91cad 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationCodecFactory.java
@@ -58,6 +58,7 @@ public class ObjectSerializationCodecFactory implements ProtocolCodecFactory {
     /**
      * {@inheritDoc}
      */
+    @Override
     public ProtocolEncoder getEncoder(IoSession session) {
         return encoder;
     }
@@ -65,6 +66,7 @@ public class ObjectSerializationCodecFactory implements ProtocolCodecFactory {
     /**
      * {@inheritDoc}
      */
+    @Override
     public ProtocolDecoder getDecoder(IoSession session) {
         return decoder;
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
index 93fe4ee..70fdf16 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationEncoder.java
@@ -73,6 +73,7 @@ public class ObjectSerializationEncoder extends ProtocolEncoderAdapter {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
         if (!(message instanceof Serializable)) {
             throw new NotSerializableException();

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
index d96ea8f..5da80cf 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationInputStream.java
@@ -62,7 +62,9 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
         }
         
         if (classLoader == null) {
-            classLoader = Thread.currentThread().getContextClassLoader();
+            this.classLoader = Thread.currentThread().getContextClassLoader();
+        } else {
+            this.classLoader = classLoader;
         }
 
         if (in instanceof DataInputStream) {
@@ -70,8 +72,6 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
         } else {
             this.in = new DataInputStream(in);
         }
-
-        this.classLoader = classLoader;
     }
 
     /**
@@ -111,6 +111,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public Object readObject() throws ClassNotFoundException, IOException {
         int objectSize = in.readInt();
         if (objectSize <= 0) {
@@ -133,6 +134,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public boolean readBoolean() throws IOException {
         return in.readBoolean();
     }
@@ -140,6 +142,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public byte readByte() throws IOException {
         return in.readByte();
     }
@@ -147,6 +150,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public char readChar() throws IOException {
         return in.readChar();
     }
@@ -154,6 +158,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public double readDouble() throws IOException {
         return in.readDouble();
     }
@@ -161,6 +166,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public float readFloat() throws IOException {
         return in.readFloat();
     }
@@ -168,6 +174,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public void readFully(byte[] b) throws IOException {
         in.readFully(b);
     }
@@ -175,6 +182,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public void readFully(byte[] b, int off, int len) throws IOException {
         in.readFully(b, off, len);
     }
@@ -182,6 +190,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public int readInt() throws IOException {
         return in.readInt();
     }
@@ -191,6 +200,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
      * @deprecated Bytes are not properly converted to chars
      */
     @Deprecated
+    @Override
     public String readLine() throws IOException {
         return in.readLine();
     }
@@ -198,6 +208,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public long readLong() throws IOException {
         return in.readLong();
     }
@@ -205,6 +216,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public short readShort() throws IOException {
         return in.readShort();
     }
@@ -212,6 +224,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public String readUTF() throws IOException {
         return in.readUTF();
     }
@@ -219,6 +232,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public int readUnsignedByte() throws IOException {
         return in.readUnsignedByte();
     }
@@ -226,6 +240,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public int readUnsignedShort() throws IOException {
         return in.readUnsignedShort();
     }
@@ -233,6 +248,7 @@ public class ObjectSerializationInputStream extends InputStream implements Objec
     /**
      * {@inheritDoc}
      */
+    @Override
     public int skipBytes(int n) throws IOException {
         return in.skipBytes(n);
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
index 8243e75..c5e8898 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/serialization/ObjectSerializationOutputStream.java
@@ -123,6 +123,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeObject(Object obj) throws IOException {
         IoBuffer buf = IoBuffer.allocate(64, false);
         buf.setAutoExpand(true);
@@ -140,6 +141,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeBoolean(boolean v) throws IOException {
         out.writeBoolean(v);
     }
@@ -147,6 +149,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeByte(int v) throws IOException {
         out.writeByte(v);
     }
@@ -154,6 +157,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeBytes(String s) throws IOException {
         out.writeBytes(s);
     }
@@ -161,6 +165,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeChar(int v) throws IOException {
         out.writeChar(v);
     }
@@ -168,6 +173,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeChars(String s) throws IOException {
         out.writeChars(s);
     }
@@ -175,6 +181,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeDouble(double v) throws IOException {
         out.writeDouble(v);
     }
@@ -182,6 +189,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeFloat(float v) throws IOException {
         out.writeFloat(v);
     }
@@ -189,6 +197,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeInt(int v) throws IOException {
         out.writeInt(v);
     }
@@ -196,6 +205,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeLong(long v) throws IOException {
         out.writeLong(v);
     }
@@ -203,6 +213,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeShort(int v) throws IOException {
         out.writeShort(v);
     }
@@ -210,6 +221,7 @@ public class ObjectSerializationOutputStream extends OutputStream implements Obj
     /**
      * {@inheritDoc}
      */
+    @Override
     public void writeUTF(String str) throws IOException {
         out.writeUTF(str);
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
index ca08ac4..49b9294 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToCrLfDecodingState.java
@@ -51,6 +51,10 @@ public abstract class ConsumeToCrLfDecodingState implements DecodingState {
         // Do nothing
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int beginPos = in.position();
         int limit = in.limit();
@@ -118,6 +122,7 @@ public abstract class ConsumeToCrLfDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         IoBuffer product;
         // When input contained only CR or LF rather than actual data...

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
index 0c5ca4b..06f9903 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToDynamicTerminatorDecodingState.java
@@ -35,6 +35,7 @@ public abstract class ConsumeToDynamicTerminatorDecodingState implements Decodin
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int beginPos = in.position();
         int terminatorPos = -1;
@@ -87,6 +88,7 @@ public abstract class ConsumeToDynamicTerminatorDecodingState implements Decodin
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         IoBuffer product;
         // When input contained only terminator rather than actual data...

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
index a9847b8..f53fe21 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToEndOfSessionDecodingState.java
@@ -49,6 +49,7 @@ public abstract class ConsumeToEndOfSessionDecodingState implements DecodingStat
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         if (buffer == null) {
             buffer = IoBuffer.allocate(256).setAutoExpand(true);
@@ -64,6 +65,7 @@ public abstract class ConsumeToEndOfSessionDecodingState implements DecodingStat
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         try {
             if (buffer == null) {

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
index ef6538c..a3afd62 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ConsumeToTerminatorDecodingState.java
@@ -46,6 +46,7 @@ public abstract class ConsumeToTerminatorDecodingState implements DecodingState
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int terminatorPos = in.indexOf(terminator);
 
@@ -90,6 +91,7 @@ public abstract class ConsumeToTerminatorDecodingState implements DecodingState
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         IoBuffer product;
         // When input contained only terminator rather than actual data...

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
index c6fd00b..0d9ce1a 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/CrLfDecodingState.java
@@ -50,6 +50,7 @@ public abstract class CrLfDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         boolean found = false;
         boolean finished = false;
@@ -90,6 +91,7 @@ public abstract class CrLfDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         return finishDecode(false, out);
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
index 2acec27..0e8e57f 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateMachine.java
@@ -50,13 +50,21 @@ import org.slf4j.LoggerFactory;
 public abstract class DecodingStateMachine implements DecodingState {
     private final Logger log = LoggerFactory.getLogger(DecodingStateMachine.class);
 
-    private final List<Object> childProducts = new ArrayList<Object>();
+    private final List<Object> childProducts = new ArrayList<>();
 
     private final ProtocolDecoderOutput childOutput = new ProtocolDecoderOutput() {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void flush(NextFilter nextFilter, IoSession session) {
             // Do nothing
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void write(Object message) {
             childProducts.add(message);
         }
@@ -99,6 +107,7 @@ public abstract class DecodingStateMachine implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         DecodingState state = getCurrentState();
 
@@ -146,6 +155,7 @@ public abstract class DecodingStateMachine implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         DecodingState nextState;
         DecodingState state = getCurrentState();

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
index 4c6fbbd..86bb5b3 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/DecodingStateProtocolDecoder.java
@@ -40,7 +40,7 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
 public class DecodingStateProtocolDecoder implements ProtocolDecoder {
     private final DecodingState state;
 
-    private final Queue<IoBuffer> undecodedBuffers = new ConcurrentLinkedQueue<IoBuffer>();
+    private final Queue<IoBuffer> undecodedBuffers = new ConcurrentLinkedQueue<>();
 
     private IoSession session;
 
@@ -61,6 +61,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         if (this.session == null) {
             this.session = session;
@@ -70,6 +71,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
         }
 
         undecodedBuffers.offer(in);
+        
         for (;;) {
             IoBuffer b = undecodedBuffers.peek();
             if (b == null) {
@@ -79,6 +81,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
             int oldRemaining = b.remaining();
             state.decode(b, out);
             int newRemaining = b.remaining();
+            
             if (newRemaining != 0) {
                 if (oldRemaining == newRemaining) {
                     throw new IllegalStateException(DecodingState.class.getSimpleName() + " must "
@@ -93,6 +96,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
         state.finishDecode(out);
     }
@@ -100,6 +104,7 @@ public class DecodingStateProtocolDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         // Do nothing
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
index 8660931..1993df6 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/FixedLengthDecodingState.java
@@ -48,6 +48,7 @@ public abstract class FixedLengthDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         if (buffer == null) {
             if (in.remaining() >= length) {
@@ -56,11 +57,13 @@ public abstract class FixedLengthDecodingState implements DecodingState {
                 IoBuffer product = in.slice();
                 in.position(in.position() + length);
                 in.limit(limit);
+
                 return finishDecode(product, out);
             }
 
             buffer = IoBuffer.allocate(length);
             buffer.put(in);
+
             return this;
         }
 
@@ -71,6 +74,7 @@ public abstract class FixedLengthDecodingState implements DecodingState {
             in.limit(limit);
             IoBuffer product = this.buffer;
             this.buffer = null;
+            
             return finishDecode(product.flip(), out);
         }
 
@@ -81,14 +85,17 @@ public abstract class FixedLengthDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         IoBuffer readData;
+        
         if (buffer == null) {
             readData = IoBuffer.allocate(0);
         } else {
             readData = buffer.flip();
             buffer = null;
         }
+        
         return finishDecode(readData, out);
     }
 

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
index e21672c..631c1e5 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
@@ -35,6 +35,7 @@ public abstract class IntegerDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int firstByte = 0;
         int secondByte = 0;
@@ -71,6 +72,7 @@ public abstract class IntegerDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         throw new ProtocolDecoderException("Unexpected end of session while waiting for an integer.");
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
index c81d4c8..c219a90 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
@@ -35,22 +35,23 @@ public abstract class ShortIntegerDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int highByte = 0;
 
 
         while (in.hasRemaining()) {
             switch (counter) {
-            case 0:
-                highByte = in.getUnsigned();
-                break;
-                
-            case 1:
-                counter = 0;
-                return finishDecode((short) ((highByte << 8) | in.getUnsigned()), out);
-                
-            default:
-                throw new InternalError();
+                case 0:
+                    highByte = in.getUnsigned();
+                    break;
+                    
+                case 1:
+                    counter = 0;
+                    return finishDecode((short) ((highByte << 8) | in.getUnsigned()), out);
+                    
+                default:
+                    throw new InternalError();
             }
 
             counter++;
@@ -61,6 +62,7 @@ public abstract class ShortIntegerDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         throw new ProtocolDecoderException("Unexpected end of session while waiting for a short integer.");
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
index b1fc5c5..d0866e1 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SingleByteDecodingState.java
@@ -29,7 +29,10 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public abstract class SingleByteDecodingState implements DecodingState {
-
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         if (in.hasRemaining()) {
             return finishDecode(in.get(), out);
@@ -41,6 +44,7 @@ public abstract class SingleByteDecodingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         throw new ProtocolDecoderException("Unexpected end of session while waiting for a single byte.");
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
index 59956d4..ed45dec 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/SkippingState.java
@@ -35,15 +35,19 @@ public abstract class SkippingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         int beginPos = in.position();
         int limit = in.limit();
+        
         for (int i = beginPos; i < limit; i++) {
             byte b = in.get(i);
+            
             if (!canSkip(b)) {
                 in.position(i);
                 int answer = this.skippedBytes;
                 this.skippedBytes = 0;
+                
                 return finishDecode(answer);
             }
 
@@ -57,6 +61,7 @@ public abstract class SkippingState implements DecodingState {
     /**
      * {@inheritDoc}
      */
+    @Override
     public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
         return finishDecode(skippedBytes);
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
index b6f7374..9858f3e 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineCodecFactory.java
@@ -94,6 +94,7 @@ public class TextLineCodecFactory implements ProtocolCodecFactory {
     /**
      * {@inheritDoc}
      */
+    @Override
     public ProtocolEncoder getEncoder(IoSession session) {
         return encoder;
     }
@@ -101,6 +102,7 @@ public class TextLineCodecFactory implements ProtocolCodecFactory {
     /**
      * {@inheritDoc}
      */
+    @Override
     public ProtocolDecoder getDecoder(IoSession session) {
         return decoder;
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
index a42ee27..ad43b38 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
@@ -40,7 +40,7 @@ import org.apache.mina.filter.codec.RecoverableProtocolDecoderException;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public class TextLineDecoder implements ProtocolDecoder {
-    private final AttributeKey CONTEXT = new AttributeKey(getClass(), "context");
+    private static final AttributeKey CONTEXT = new AttributeKey(TextLineDecoder.class, "context");
 
     private final Charset charset;
 
@@ -191,6 +191,7 @@ public class TextLineDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
         Context ctx = getContext(session);
 
@@ -221,6 +222,7 @@ public class TextLineDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
         // Do nothing
     }
@@ -228,6 +230,7 @@ public class TextLineDecoder implements ProtocolDecoder {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void dispose(IoSession session) throws Exception {
         Context ctx = (Context) session.getAttribute(CONTEXT);
 

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
index 9c38390..bd19c4d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/textline/TextLineEncoder.java
@@ -144,6 +144,7 @@ public class TextLineEncoder extends ProtocolEncoderAdapter {
     /**
      * {@inheritDoc}
      */
+    @Override
     public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
         CharsetEncoder encoder = (CharsetEncoder) session.getAttribute(ENCODER);
 
@@ -152,7 +153,7 @@ public class TextLineEncoder extends ProtocolEncoderAdapter {
             session.setAttribute(ENCODER, encoder);
         }
 
-        String value = (message == null ? "" : message.toString());
+        String value = message == null ? "" : message.toString();
         IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
         buf.putString(value, encoder);
 

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java b/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
index 6ab6acc..d325731 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.java
@@ -73,7 +73,7 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
 
     private Random rng = new Random();
 
-    final private Logger logger = LoggerFactory.getLogger(ErrorGeneratingFilter.class);
+    private final Logger logger = LoggerFactory.getLogger(ErrorGeneratingFilter.class);
 
     @Override
     public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
@@ -82,6 +82,7 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
             if (writeRequest.getMessage() instanceof IoBuffer) {
                 manipulateIoBuffer(session, (IoBuffer) writeRequest.getMessage());
                 IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) writeRequest.getMessage());
+                
                 if (buffer != null) {
                     writeRequest = new DefaultWriteRequest(buffer, writeRequest.getFuture(),
                             writeRequest.getDestination());
@@ -97,29 +98,28 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
                     // later
                     // TODO
                 }
+                
                 if (removePduProbability > rng.nextInt()) {
                     return;
                 }
             }
         }
+        
         nextFilter.filterWrite(session, writeRequest);
     }
 
     @Override
     public void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception {
-        if (manipulateReads) {
-            if (message instanceof IoBuffer) {
-                // manipulate bytes
-                manipulateIoBuffer(session, (IoBuffer) message);
-                IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) message);
-                if (buffer != null) {
-                    message = buffer;
-                }
-            } else {
-                // manipulate PDU
-                // TODO
+        if (manipulateReads && (message instanceof IoBuffer)) {
+            // manipulate bytes
+            manipulateIoBuffer(session, (IoBuffer) message);
+            IoBuffer buffer = insertBytesToNewIoBuffer(session, (IoBuffer) message);
+            
+            if (buffer != null) {
+                message = buffer;
             }
         }
+        
         nextFilter.messageReceived(session, message);
     }
 
@@ -191,6 +191,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         }
     }
 
+    /**
+     * @return The probably that a byte changes
+     */
     public int getChangeByteProbability() {
         return changeByteProbability;
     }
@@ -205,6 +208,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.changeByteProbability = changeByteProbability;
     }
 
+    /**
+     * @return The probability for generating duplicated PDU
+     */
     public int getDuplicatePduProbability() {
         return duplicatePduProbability;
     }
@@ -217,6 +223,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.duplicatePduProbability = duplicatePduProbability;
     }
 
+    /**
+     * @return the probability for the insert byte error.
+     */
     public int getInsertByteProbability() {
         return insertByteProbability;
     }
@@ -231,6 +240,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.insertByteProbability = insertByteProbability;
     }
 
+    /**
+     * @return The number of manipulated reads
+     */
     public boolean isManipulateReads() {
         return manipulateReads;
     }
@@ -244,6 +256,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.manipulateReads = manipulateReads;
     }
 
+    /**
+     * @return If manipulated writes are expected or not
+     */
     public boolean isManipulateWrites() {
         return manipulateWrites;
     }
@@ -251,12 +266,15 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
     /**
      * Set to true if you want to apply error to the written {@link IoBuffer}
      * 
-     * @param manipulateWrites The umber of manipulated writes
+     * @param manipulateWrites If manipulated writes are expected or not
      */
     public void setManipulateWrites(boolean manipulateWrites) {
         this.manipulateWrites = manipulateWrites;
     }
 
+    /**
+     * @return The probability for the remove byte error
+     */
     public int getRemoveByteProbability() {
         return removeByteProbability;
     }
@@ -272,6 +290,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.removeByteProbability = removeByteProbability;
     }
 
+    /**
+     * @return The PDU removal probability
+     */
     public int getRemovePduProbability() {
         return removePduProbability;
     }
@@ -284,6 +305,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.removePduProbability = removePduProbability;
     }
 
+    /**
+     * @return The delay before a resend
+     */
     public int getResendPduLasterProbability() {
         return resendPduLasterProbability;
     }
@@ -296,6 +320,9 @@ public class ErrorGeneratingFilter extends IoFilterAdapter {
         this.resendPduLasterProbability = resendPduLasterProbability;
     }
 
+    /**
+     * @return maximum bytes inserted in a {@link IoBuffer}
+     */
     public int getMaxInsertByte() {
         return maxInsertByte;
     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java b/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
index a3cd992..858e0a1 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/DefaultIoEventSizeEstimator.java
@@ -45,7 +45,7 @@ import org.apache.mina.core.write.WriteRequest;
  */
 public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
     /** A map containing the estimated size of each Java objects we know for */
-    private final ConcurrentMap<Class<?>, Integer> class2size = new ConcurrentHashMap<Class<?>, Integer>();
+    private final ConcurrentMap<Class<?>, Integer> class2size = new ConcurrentHashMap<>();
 
     /**
      * Create a new instance of this class, injecting the known size of
@@ -66,6 +66,7 @@ public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
     /**
      * {@inheritDoc}
      */
+    @Override
     public int estimateSize(IoEvent event) {
         return estimateSize((Object) event) + estimateSize(event.getParameter());
     }
@@ -109,7 +110,7 @@ public class DefaultIoEventSizeEstimator implements IoEventSizeEstimator {
                 return 0;
             }
         } else {
-            visitedClasses = new HashSet<Class<?>>();
+            visitedClasses = new HashSet<>();
         }
 
         visitedClasses.add(clazz);

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
index 7d76b36..178fd8d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
@@ -150,11 +150,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter() {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -167,11 +167,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(int maximumPoolSize) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -185,11 +185,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(int corePoolSize, int maximumPoolSize) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -203,11 +203,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -223,11 +223,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             IoEventQueueHandler queueHandler) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 Executors.defaultThreadFactory(), queueHandler);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -243,11 +243,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
                 null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -264,11 +264,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
         // Create a new default Executor
-        Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 threadFactory, queueHandler);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR);
+        init(newExecutor, MANAGEABLE_EXECUTOR);
     }
 
     /**
@@ -279,11 +279,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, DEFAULT_MAX_POOL_SIZE, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -295,11 +295,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(int maximumPoolSize, IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(BASE_THREAD_NUMBER, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -312,11 +312,11 @@ public class ExecutorFilter extends IoFilterAdapter {
      */
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, DEFAULT_KEEPALIVE_TIME,
                 TimeUnit.SECONDS, Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -332,11 +332,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 Executors.defaultThreadFactory(), null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -353,11 +353,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             IoEventQueueHandler queueHandler, IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 Executors.defaultThreadFactory(), queueHandler);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -374,11 +374,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory, IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
+        Executor newExecutor = createDefaultExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory,
                 null);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -396,11 +396,11 @@ public class ExecutorFilter extends IoFilterAdapter {
     public ExecutorFilter(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory, IoEventQueueHandler queueHandler, IoEventType... eventTypes) {
         // Create a new default Executor
-        Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        Executor newExecutor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 threadFactory, queueHandler);
 
         // Initialize the filter
-        init(executor, MANAGEABLE_EXECUTOR, eventTypes);
+        init(newExecutor, MANAGEABLE_EXECUTOR, eventTypes);
     }
 
     /**
@@ -438,10 +438,8 @@ public class ExecutorFilter extends IoFilterAdapter {
     private Executor createDefaultExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
         // Create a new Executor
-        Executor executor = new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
+        return new OrderedThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit,
                 threadFactory, queueHandler);
-
-        return executor;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
index 9c0cbaf..ceba804 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueHandler.java
@@ -35,14 +35,26 @@ public interface IoEventQueueHandler extends EventListener {
      * A dummy handler which always accepts event doing nothing particular.
      */
     IoEventQueueHandler NOOP = new IoEventQueueHandler() {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public boolean accept(Object source, IoEvent event) {
             return true;
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void offered(Object source, IoEvent event) {
             // NOOP
         }
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void polled(Object source, IoEvent event) {
             // NOOP
         }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
index b490cb2..9170764 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/IoEventQueueThrottle.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
  */
 public class IoEventQueueThrottle implements IoEventQueueHandler {
     /** A logger for this class */
-    private final static Logger LOGGER = LoggerFactory.getLogger(IoEventQueueThrottle.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(IoEventQueueThrottle.class);
 
     /** The event size estimator instance */
     private final IoEventSizeEstimator eventSizeEstimator;
@@ -41,18 +41,33 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
 
     private final Object lock = new Object();
 
+    /** The number of events we hold */
     private final AtomicInteger counter = new AtomicInteger();
 
     private int waiters;
 
+    /**
+     * Creates a new IoEventQueueThrottle instance
+     */
     public IoEventQueueThrottle() {
         this(new DefaultIoEventSizeEstimator(), 65536);
     }
 
+    /**
+     * Creates a new IoEventQueueThrottle instance
+     * 
+     * @param threshold The events threshold
+     */
     public IoEventQueueThrottle(int threshold) {
         this(new DefaultIoEventSizeEstimator(), threshold);
     }
 
+    /**
+     * Creates a new IoEventQueueThrottle instance
+     *
+     * @param eventSizeEstimator The IoEventSizeEstimator instance
+     * @param threshold The events threshold
+     */
     public IoEventQueueThrottle(IoEventSizeEstimator eventSizeEstimator, int threshold) {
         if (eventSizeEstimator == null) {
             throw new IllegalArgumentException("eventSizeEstimator");
@@ -63,18 +78,32 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
         setThreshold(threshold);
     }
 
+    /**
+     * @return The IoEventSizeEstimator instance
+     */
     public IoEventSizeEstimator getEventSizeEstimator() {
         return eventSizeEstimator;
     }
 
+    /**
+     * @return The events threshold
+     */
     public int getThreshold() {
         return threshold;
     }
 
+    /**
+     * @return The number of events currently held
+     */
     public int getCounter() {
         return counter.get();
     }
 
+    /**
+     * Sets the events threshold
+     * 
+     * @param threshold The events threshold
+     */
     public void setThreshold(int threshold) {
         if (threshold <= 0) {
             throw new IllegalArgumentException("threshold: " + threshold);
@@ -83,10 +112,18 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
         this.threshold = threshold;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public boolean accept(Object source, IoEvent event) {
         return true;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public void offered(Object source, IoEvent event) {
         int eventSize = estimateSize(event);
         int currentCounter = counter.addAndGet(eventSize);
@@ -97,6 +134,10 @@ public class IoEventQueueThrottle implements IoEventQueueHandler {
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
     public void polled(Object source, IoEvent event) {
         int eventSize = estimateSize(event);
         int currentCounter = counter.addAndGet(-eventSize);

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
index 101aa2b..da8333d 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
@@ -68,12 +68,12 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
     private static final IoSession EXIT_SIGNAL = new DummySession();
 
     /** A key stored into the session's attribute for the event tasks being queued */
-    private final AttributeKey TASKS_QUEUE = new AttributeKey(getClass(), "tasksQueue");
+    private static final AttributeKey TASKS_QUEUE = new AttributeKey(OrderedThreadPoolExecutor.class, "tasksQueue");
 
     /** A queue used to store the available sessions */
-    private final BlockingQueue<IoSession> waitingSessions = new LinkedBlockingQueue<IoSession>();
+    private final BlockingQueue<IoSession> waitingSessions = new LinkedBlockingQueue<>();
 
-    private final Set<Worker> workers = new HashSet<Worker>();
+    private final Set<Worker> workers = new HashSet<>();
 
     private volatile int largestPoolSize;
 
@@ -294,14 +294,6 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
      * {@inheritDoc}
      */
     @Override
-    public int getMaximumPoolSize() {
-        return super.getMaximumPoolSize();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public void setMaximumPoolSize(int maximumPoolSize) {
         if ((maximumPoolSize <= 0) || (maximumPoolSize < super.getCorePoolSize())) {
             throw new IllegalArgumentException("maximumPoolSize: " + maximumPoolSize);
@@ -385,7 +377,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
     public List<Runnable> shutdownNow() {
         shutdown();
 
-        List<Runnable> answer = new ArrayList<Runnable>();
+        List<Runnable> answer = new ArrayList<>();
         IoSession session;
 
         while ((session = waitingSessions.poll()) != null) {
@@ -644,14 +636,6 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
      * {@inheritDoc}
      */
     @Override
-    public int getCorePoolSize() {
-        return super.getCorePoolSize();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public void setCorePoolSize(int corePoolSize) {
         if (corePoolSize < 0) {
             throw new IllegalArgumentException("corePoolSize: " + corePoolSize);
@@ -676,6 +660,10 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
 
         private Thread thread;
 
+        /**
+         * @inheritedDoc
+         */
+        @Override
         public void run() {
             thread = Thread.currentThread();
 
@@ -720,9 +708,11 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
             IoSession session = null;
             long currentTime = System.currentTimeMillis();
             long deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
+            
             for (;;) {
                 try {
                     long waitTime = deadline - currentTime;
+                    
                     if (waitTime <= 0) {
                         break;
                     }
@@ -731,7 +721,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
                         session = waitingSessions.poll(waitTime, TimeUnit.MILLISECONDS);
                         break;
                     } finally {
-                        if (session == null) {
+                        if (session != null) {
                             currentTime = System.currentTimeMillis();
                         }
                     }
@@ -740,6 +730,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
                     continue;
                 }
             }
+            
             return session;
         }
 
@@ -786,7 +777,7 @@ public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
      */
     private class SessionTasksQueue {
         /**  A queue of ordered event waiting to be processed */
-        private final Queue<Runnable> tasksQueue = new ConcurrentLinkedQueue<Runnable>();
+        private final Queue<Runnable> tasksQueue = new ConcurrentLinkedQueue<>();
 
         /** The current task state */
         private boolean processingCompleted = true;

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java b/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
index 4743866..3136492 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/UnorderedThreadPoolExecutor.java
@@ -55,12 +55,16 @@ import org.apache.mina.core.session.IoEvent;
 public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
 
     private static final Runnable EXIT_SIGNAL = new Runnable() {
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void run() {
             throw new Error("This method shouldn't be called. " + "Please file a bug report.");
         }
     };
 
-    private final Set<Worker> workers = new HashSet<Worker>();
+    private final Set<Worker> workers = new HashSet<>();
 
     private volatile int corePoolSize;
 
@@ -76,35 +80,86 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
 
     private final IoEventQueueHandler queueHandler;
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     */
     public UnorderedThreadPoolExecutor() {
         this(16);
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param maximumPoolSize The maximum number of threads in the pool
+     */
     public UnorderedThreadPoolExecutor(int maximumPoolSize) {
         this(0, maximumPoolSize);
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param corePoolSize The initial threads pool size
+     * @param maximumPoolSize The maximum number of threads in the pool
+     */
     public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize) {
         this(corePoolSize, maximumPoolSize, 30, TimeUnit.SECONDS);
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param corePoolSize The initial threads pool size
+     * @param maximumPoolSize The maximum number of threads in the pool
+     * @param keepAliveTime The time to keep threads alive
+     * @param unit The time unit for the keepAliveTime
+     */
     public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit) {
         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory());
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param corePoolSize The initial threads pool size
+     * @param maximumPoolSize The maximum number of threads in the pool
+     * @param keepAliveTime The time to keep threads alive
+     * @param unit The time unit for the keepAliveTime
+     * @param queueHandler The Event queue handler to use
+     */
     public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             IoEventQueueHandler queueHandler) {
         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, Executors.defaultThreadFactory(), queueHandler);
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param corePoolSize The initial threads pool size
+     * @param maximumPoolSize The maximum number of threads in the pool
+     * @param keepAliveTime The time to keep threads alive
+     * @param unit The time unit for the keepAliveTime
+     * @param threadFactory The Thread factory to use
+     */
     public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory) {
         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, threadFactory, null);
     }
 
+    /**
+     * Creates a new UnorderedThreadPoolExecutor instance
+     * 
+     * @param corePoolSize The initial threads pool size
+     * @param maximumPoolSize The maximum number of threads in the pool
+     * @param keepAliveTime The time to keep threads alive
+     * @param unit The time unit for the keepAliveTime
+     * @param threadFactory The Thread factory to use
+     * @param queueHandler The Event queue handler to use
+     */
     public UnorderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
             ThreadFactory threadFactory, IoEventQueueHandler queueHandler) {
         super(0, 1, keepAliveTime, unit, new LinkedBlockingQueue<Runnable>(), threadFactory, new AbortPolicy());
+        
         if (corePoolSize < 0) {
             throw new IllegalArgumentException("corePoolSize: " + corePoolSize);
         }
@@ -114,14 +169,18 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
         }
 
         if (queueHandler == null) {
-            queueHandler = IoEventQueueHandler.NOOP;
+            this.queueHandler = IoEventQueueHandler.NOOP;
+        } else {
+            this.queueHandler = queueHandler;
         }
 
         this.corePoolSize = corePoolSize;
         this.maximumPoolSize = maximumPoolSize;
-        this.queueHandler = queueHandler;
     }
 
+    /**
+     * @return The Queue handler in use
+     */
     public IoEventQueueHandler getQueueHandler() {
         return queueHandler;
     }
@@ -242,7 +301,7 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
     public List<Runnable> shutdownNow() {
         shutdown();
 
-        List<Runnable> answer = new ArrayList<Runnable>();
+        List<Runnable> answer = new ArrayList<>();
         Runnable task;
         while ((task = getQueue().poll()) != null) {
             if (task == EXIT_SIGNAL) {
@@ -401,6 +460,10 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
 
         private Thread thread;
 
+        /**
+         * {@inheritDoc}
+         */
+        @Override
         public void run() {
             thread = Thread.currentThread();
 
@@ -446,9 +509,11 @@ public class UnorderedThreadPoolExecutor extends ThreadPoolExecutor {
             Runnable task = null;
             long currentTime = System.currentTimeMillis();
             long deadline = currentTime + getKeepAliveTime(TimeUnit.MILLISECONDS);
+            
             for (;;) {
                 try {
                     long waitTime = deadline - currentTime;
+                    
                     if (waitTime <= 0) {
                         break;
                     }

http://git-wip-us.apache.org/repos/asf/mina/blob/a9c468fb/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java b/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
index 1485d5a..baf93d6 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/WriteRequestFilter.java
@@ -91,6 +91,9 @@ public class WriteRequestFilter extends IoFilterAdapter {
         return queueHandler;
     }
 
+    /**
+     * @inheritedDoc
+     */
     @Override
     public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception {
 
@@ -106,6 +109,10 @@ public class WriteRequestFilter extends IoFilterAdapter {
             // We can track the write request only when it has a future.
             queueHandler.offered(this, e);
             writeFuture.addListener(new IoFutureListener<WriteFuture>() {
+                /**
+                 * @inheritedDoc
+                 */
+                @Override
                 public void operationComplete(WriteFuture future) {
                     queueHandler.polled(WriteRequestFilter.this, e);
                 }