8003950: Adds missing Override annotations and removes unnecessary imports in sun.security.ssl
authorxuelei
Sat, 24 Nov 2012 04:09:19 -0800
changeset 14664 e71aa0962e70
parent 14663 49b7de969579
child 14665 8caa5add16ed
8003950: Adds missing Override annotations and removes unnecessary imports in sun.security.ssl Reviewed-by: xuelei Contributed-by: Florian Weimer <fweimer@redhat.com>
jdk/src/share/classes/sun/security/ssl/AppInputStream.java
jdk/src/share/classes/sun/security/ssl/AppOutputStream.java
jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java
jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java
jdk/src/share/classes/sun/security/ssl/CipherBox.java
jdk/src/share/classes/sun/security/ssl/CipherSuite.java
jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java
jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
jdk/src/share/classes/sun/security/ssl/DHClientKeyExchange.java
jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java
jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java
jdk/src/share/classes/sun/security/ssl/EngineInputRecord.java
jdk/src/share/classes/sun/security/ssl/EngineOutputRecord.java
jdk/src/share/classes/sun/security/ssl/EngineWriter.java
jdk/src/share/classes/sun/security/ssl/ExtensionType.java
jdk/src/share/classes/sun/security/ssl/HandshakeHash.java
jdk/src/share/classes/sun/security/ssl/HandshakeInStream.java
jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java
jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java
jdk/src/share/classes/sun/security/ssl/Handshaker.java
jdk/src/share/classes/sun/security/ssl/HelloExtension.java
jdk/src/share/classes/sun/security/ssl/HelloExtensions.java
jdk/src/share/classes/sun/security/ssl/InputRecord.java
jdk/src/share/classes/sun/security/ssl/JsseJce.java
jdk/src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java
jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java
jdk/src/share/classes/sun/security/ssl/Krb5Helper.java
jdk/src/share/classes/sun/security/ssl/OutputRecord.java
jdk/src/share/classes/sun/security/ssl/ProtocolList.java
jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java
jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java
jdk/src/share/classes/sun/security/ssl/RSASignature.java
jdk/src/share/classes/sun/security/ssl/RenegotiationInfoExtension.java
jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
jdk/src/share/classes/sun/security/ssl/SSLEngineImpl.java
jdk/src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java
jdk/src/share/classes/sun/security/ssl/SSLServerSocketImpl.java
jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java
jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java
jdk/src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java
jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java
jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java
jdk/src/share/classes/sun/security/ssl/SessionId.java
jdk/src/share/classes/sun/security/ssl/SunJSSE.java
jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java
jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
jdk/src/share/classes/sun/security/ssl/UnknownExtension.java
jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
jdk/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java
--- a/jdk/src/share/classes/sun/security/ssl/AppInputStream.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/AppInputStream.java	Sat Nov 24 04:09:19 2012 -0800
@@ -55,6 +55,7 @@
      * Return the minimum number of bytes that can be read without blocking.
      * Currently not synchronized.
      */
+    @Override
     public int available() throws IOException {
         if (c.checkEOF() || (r.isAppDataValid() == false)) {
             return 0;
@@ -65,6 +66,7 @@
     /**
      * Read a single byte, returning -1 on non-fault EOF status.
      */
+    @Override
     public synchronized int read() throws IOException {
         int n = read(oneByte, 0, 1);
         if (n <= 0) { // EOF
@@ -79,6 +81,7 @@
      * are responsible only for blocking to fill at most one buffer,
      * and returning "-1" on non-fault EOF status.
      */
+    @Override
     public synchronized int read(byte b[], int off, int len)
             throws IOException {
         if (b == null) {
@@ -124,6 +127,7 @@
      * is static and may garbled by concurrent use, but we are not interested
      * in the data anyway.
      */
+    @Override
     public synchronized long skip(long n) throws IOException {
         long skipped = 0;
         while (n > 0) {
@@ -141,6 +145,7 @@
     /*
      * Socket close is already synchronized, no need to block here.
      */
+    @Override
     public void close() throws IOException {
         c.close();
     }
--- a/jdk/src/share/classes/sun/security/ssl/AppOutputStream.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/AppOutputStream.java	Sat Nov 24 04:09:19 2012 -0800
@@ -56,6 +56,7 @@
     /**
      * Write the data out, NOW.
      */
+    @Override
     synchronized public void write(byte b[], int off, int len)
             throws IOException {
         if (b == null) {
@@ -131,6 +132,7 @@
     /**
      * Write one byte now.
      */
+    @Override
     synchronized public void write(int i) throws IOException {
         oneByte[0] = (byte)i;
         write(oneByte, 0, 1);
@@ -139,6 +141,7 @@
     /*
      * Socket close is already synchronized, no need to block here.
      */
+    @Override
     public void close() throws IOException {
         c.close();
     }
--- a/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/BaseSSLSocketImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -102,6 +102,7 @@
      * associated with this socket, if any.
      * @see java.net.Socket#getChannel
      */
+    @Override
     public final SocketChannel getChannel() {
         if (self == this) {
             return super.getChannel();
@@ -114,6 +115,7 @@
      * Binds the address to the socket.
      * @see java.net.Socket#bind
      */
+    @Override
     public void bind(SocketAddress bindpoint) throws IOException {
         /*
          * Bind to this socket
@@ -131,6 +133,7 @@
      * Returns the address of the endpoint this socket is connected to
      * @see java.net.Socket#getLocalSocketAddress
      */
+    @Override
     public SocketAddress getLocalSocketAddress() {
         if (self == this) {
             return super.getLocalSocketAddress();
@@ -143,6 +146,7 @@
      * Returns the address of the endpoint this socket is connected to
      * @see java.net.Socket#getRemoteSocketAddress
      */
+    @Override
     public SocketAddress getRemoteSocketAddress() {
         if (self == this) {
             return super.getRemoteSocketAddress();
@@ -164,6 +168,7 @@
      * @param   endpoint the <code>SocketAddress</code>
      * @throws  IOException if an error occurs during the connection
      */
+    @Override
     public final void connect(SocketAddress endpoint) throws IOException {
         connect(endpoint, 0);
     }
@@ -172,6 +177,7 @@
      * Returns the connection state of the socket.
      * @see java.net.Socket#isConnected
      */
+    @Override
     public final boolean isConnected() {
         if (self == this) {
             return super.isConnected();
@@ -184,6 +190,7 @@
      * Returns the binding state of the socket.
      * @see java.net.Socket#isBound
      */
+    @Override
     public final boolean isBound() {
         if (self == this) {
             return super.isBound();
@@ -203,6 +210,7 @@
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public final void shutdownInput() throws IOException {
         throw new UnsupportedOperationException("The method shutdownInput()" +
                    " is not supported in SSLSocket");
@@ -215,6 +223,7 @@
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public final void shutdownOutput() throws IOException {
         throw new UnsupportedOperationException("The method shutdownOutput()" +
                    " is not supported in SSLSocket");
@@ -225,6 +234,7 @@
      * Returns the input state of the socket
      * @see java.net.Socket#isInputShutdown
      */
+    @Override
     public final boolean isInputShutdown() {
         if (self == this) {
             return super.isInputShutdown();
@@ -237,6 +247,7 @@
      * Returns the output state of the socket
      * @see java.net.Socket#isOutputShutdown
      */
+    @Override
     public final boolean isOutputShutdown() {
         if (self == this) {
             return super.isOutputShutdown();
@@ -252,6 +263,7 @@
      * rather than forcing them to be explicitly reclaimed at
      * the penalty of prematurly killing SSL sessions.
      */
+    @Override
     protected final void finalize() throws Throwable {
         try {
             close();
@@ -281,6 +293,7 @@
     /**
      * Returns the address of the remote peer for this connection.
      */
+    @Override
     public final InetAddress getInetAddress() {
         if (self == this) {
             return super.getInetAddress();
@@ -295,6 +308,7 @@
      * @return the local address to which the socket is bound.
      * @since   JDK1.1
      */
+    @Override
     public final InetAddress getLocalAddress() {
         if (self == this) {
             return super.getLocalAddress();
@@ -306,6 +320,7 @@
     /**
      * Returns the number of the remote port that this connection uses.
      */
+    @Override
     public final int getPort() {
         if (self == this) {
             return super.getPort();
@@ -317,6 +332,7 @@
     /**
      * Returns the number of the local port that this connection uses.
      */
+    @Override
     public final int getLocalPort() {
         if (self == this) {
             return super.getLocalPort();
@@ -333,6 +349,7 @@
      * Enables or disables the Nagle optimization.
      * @see java.net.Socket#setTcpNoDelay
      */
+    @Override
     public final void setTcpNoDelay(boolean value) throws SocketException {
         if (self == this) {
             super.setTcpNoDelay(value);
@@ -348,6 +365,7 @@
      *
      * @see java.net.Socket#getTcpNoDelay
      */
+    @Override
     public final boolean getTcpNoDelay() throws SocketException {
         if (self == this) {
             return super.getTcpNoDelay();
@@ -360,6 +378,7 @@
      * Assigns the socket's linger timeout.
      * @see java.net.Socket#setSoLinger
      */
+    @Override
     public final void setSoLinger(boolean flag, int linger)
             throws SocketException {
         if (self == this) {
@@ -373,6 +392,7 @@
      * Returns the socket's linger timeout.
      * @see java.net.Socket#getSoLinger
      */
+    @Override
     public final int getSoLinger() throws SocketException {
         if (self == this) {
             return super.getSoLinger();
@@ -388,6 +408,7 @@
      * this for an SSLSocket. An implementation can be provided if a need
      * arises in future.
      */
+    @Override
     public final void sendUrgentData(int data) throws SocketException {
         throw new SocketException("This method is not supported "
                         + "by SSLSockets");
@@ -401,6 +422,7 @@
      * Setting OOBInline does not have any effect on SSLSocket,
      * since currently we don't support sending urgent data.
      */
+    @Override
     public final void setOOBInline(boolean on) throws SocketException {
         throw new SocketException("This method is ineffective, since"
                 + " sending urgent data is not supported by SSLSockets");
@@ -410,6 +432,7 @@
      * Tests if OOBINLINE is enabled.
      * @see java.net.Socket#getOOBInline
      */
+    @Override
     public final boolean getOOBInline() throws SocketException {
         throw new SocketException("This method is ineffective, since"
                 + " sending urgent data is not supported by SSLSockets");
@@ -419,6 +442,7 @@
      * Returns the socket timeout.
      * @see java.net.Socket#getSoTimeout
      */
+    @Override
     public final int getSoTimeout() throws SocketException {
         if (self == this) {
             return super.getSoTimeout();
@@ -427,6 +451,7 @@
         }
     }
 
+    @Override
     public final void setSendBufferSize(int size) throws SocketException {
         if (self == this) {
             super.setSendBufferSize(size);
@@ -435,6 +460,7 @@
         }
     }
 
+    @Override
     public final int getSendBufferSize() throws SocketException {
         if (self == this) {
             return super.getSendBufferSize();
@@ -443,6 +469,7 @@
         }
     }
 
+    @Override
     public final void setReceiveBufferSize(int size) throws SocketException {
         if (self == this) {
             super.setReceiveBufferSize(size);
@@ -451,6 +478,7 @@
         }
     }
 
+    @Override
     public final int getReceiveBufferSize() throws SocketException {
         if (self == this) {
             return super.getReceiveBufferSize();
@@ -463,6 +491,7 @@
      * Enable/disable SO_KEEPALIVE.
      * @see java.net.Socket#setKeepAlive
      */
+    @Override
     public final void setKeepAlive(boolean on) throws SocketException {
         if (self == this) {
             super.setKeepAlive(on);
@@ -475,6 +504,7 @@
      * Tests if SO_KEEPALIVE is enabled.
      * @see java.net.Socket#getKeepAlive
      */
+    @Override
     public final boolean getKeepAlive() throws SocketException {
         if (self == this) {
             return super.getKeepAlive();
@@ -488,6 +518,7 @@
      * packets sent from this Socket.
      * @see java.net.Socket#setTrafficClass
      */
+    @Override
     public final void setTrafficClass(int tc) throws SocketException {
         if (self == this) {
             super.setTrafficClass(tc);
@@ -501,6 +532,7 @@
      * sent from this Socket.
      * @see java.net.Socket#getTrafficClass
      */
+    @Override
     public final int getTrafficClass() throws SocketException {
         if (self == this) {
             return super.getTrafficClass();
@@ -513,6 +545,7 @@
      * Enable/disable SO_REUSEADDR.
      * @see java.net.Socket#setReuseAddress
      */
+    @Override
     public final void setReuseAddress(boolean on) throws SocketException {
         if (self == this) {
             super.setReuseAddress(on);
@@ -525,6 +558,7 @@
      * Tests if SO_REUSEADDR is enabled.
      * @see java.net.Socket#getReuseAddress
      */
+    @Override
     public final boolean getReuseAddress() throws SocketException {
         if (self == this) {
             return super.getReuseAddress();
@@ -538,6 +572,7 @@
      *
      * @see java.net.Socket#setPerformancePreferences(int, int, int)
      */
+    @Override
     public void setPerformancePreferences(int connectionTime,
             int latency, int bandwidth) {
         if (self == this) {
--- a/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java	Sat Nov 24 04:09:19 2012 -0800
@@ -50,6 +50,7 @@
      *
      * Increments position().
      */
+    @Override
     public int read() throws IOException {
 
         if (bb == null) {
@@ -67,6 +68,7 @@
      *
      * Increments position().
      */
+    @Override
     public int read(byte b[]) throws IOException {
 
         if (bb == null) {
@@ -81,6 +83,7 @@
      *
      * Increments position().
      */
+    @Override
     public int read(byte b[], int off, int len) throws IOException {
 
         if (bb == null) {
@@ -108,6 +111,7 @@
      * Skips over and discards <code>n</code> bytes of data from this input
      * stream.
      */
+    @Override
     public long skip(long n) throws IOException {
 
         if (bb == null) {
@@ -135,6 +139,7 @@
      * from this input stream without blocking by the next caller of a
      * method for this input stream.
      */
+    @Override
     public int available() throws IOException {
 
         if (bb == null) {
@@ -150,6 +155,7 @@
      *
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public void close() throws IOException {
         bb = null;
     }
@@ -157,12 +163,14 @@
     /**
      * Marks the current position in this input stream.
      */
+    @Override
     public synchronized void mark(int readlimit) {}
 
     /**
      * Repositions this stream to the position at the time the
      * <code>mark</code> method was last called on this input stream.
      */
+    @Override
     public synchronized void reset() throws IOException {
         throw new IOException("mark/reset not supported");
     }
@@ -171,6 +179,7 @@
      * Tests if this input stream supports the <code>mark</code> and
      * <code>reset</code> methods.
      */
+    @Override
     public boolean markSupported() {
         return false;
     }
--- a/jdk/src/share/classes/sun/security/ssl/CipherBox.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/CipherBox.java	Sat Nov 24 04:09:19 2012 -0800
@@ -32,7 +32,6 @@
 
 import java.security.*;
 import javax.crypto.*;
-import javax.crypto.spec.SecretKeySpec;
 import javax.crypto.spec.IvParameterSpec;
 
 import java.nio.*;
--- a/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	Sat Nov 24 04:09:19 2012 -0800
@@ -37,7 +37,6 @@
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
-import sun.security.ssl.CipherSuite.*;
 import static sun.security.ssl.CipherSuite.KeyExchange.*;
 import static sun.security.ssl.CipherSuite.PRF.*;
 import static sun.security.ssl.JsseJce.*;
@@ -203,6 +202,7 @@
      * Note that for unsupported CipherSuites parsed from a handshake
      * message we violate the equals() contract.
      */
+    @Override
     public int compareTo(CipherSuite o) {
         return o.priority - priority;
     }
@@ -210,6 +210,7 @@
     /**
      * Returns this.name.
      */
+    @Override
     public String toString() {
         return name;
     }
@@ -378,6 +379,7 @@
             }
         }
 
+        @Override
         public String toString() {
             return name;
         }
@@ -527,6 +529,7 @@
             return b.booleanValue();
         }
 
+        @Override
         public String toString() {
             return description;
         }
@@ -562,6 +565,7 @@
             return new MAC(this, protocolVersion, secret);
         }
 
+        @Override
         public String toString() {
             return name;
         }
--- a/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	Sat Nov 24 04:09:19 2012 -0800
@@ -177,6 +177,7 @@
         return suiteNames.clone();
     }
 
+    @Override
     public String toString() {
         return cipherSuites.toString();
     }
--- a/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	Sat Nov 24 04:09:19 2012 -0800
@@ -45,7 +45,6 @@
 import javax.security.auth.Subject;
 
 import sun.security.ssl.HandshakeMessage.*;
-import sun.security.ssl.CipherSuite.*;
 import static sun.security.ssl.CipherSuite.KeyExchange.*;
 
 /**
@@ -128,6 +127,7 @@
      * is processed, and writes responses as needed using the connection
      * in the constructor.
      */
+    @Override
     void processMessage(byte type, int messageLen) throws IOException {
         if (state > type
                 && (type != HandshakeMessage.ht_hello_request
@@ -505,6 +505,7 @@
                     try {
                         subject = AccessController.doPrivileged(
                             new PrivilegedExceptionAction<Subject>() {
+                            @Override
                             public Subject run() throws Exception {
                                 return Krb5Helper.getClientSubject(getAccSE());
                             }});
@@ -1104,6 +1105,7 @@
     /*
      * Returns a ClientHello message to kickstart renegotiations
      */
+    @Override
     HandshakeMessage getKickstartMessage() throws SSLException {
         // session ID of the ClientHello message
         SessionId sessionId = SSLSessionImpl.nullSession.getSessionId();
@@ -1279,6 +1281,7 @@
     /*
      * Fault detected during handshake.
      */
+    @Override
     void handshakeAlert(byte description) throws SSLProtocolException {
         String message = Alerts.alertDescription(description);
 
--- a/jdk/src/share/classes/sun/security/ssl/DHClientKeyExchange.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/DHClientKeyExchange.java	Sat Nov 24 04:09:19 2012 -0800
@@ -39,6 +39,7 @@
  */
 final class DHClientKeyExchange extends HandshakeMessage {
 
+    @Override
     int messageType() {
         return ht_client_key_exchange;
     }
@@ -75,6 +76,7 @@
         dh_Yc = input.getBytes16();
     }
 
+    @Override
     int messageLength() {
         if (dh_Yc == null) {
             return 0;
@@ -83,10 +85,12 @@
         }
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putBytes16(dh_Yc);
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** ClientKeyExchange, DH");
 
--- a/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java	Sat Nov 24 04:09:19 2012 -0800
@@ -41,6 +41,7 @@
  */
 final class ECDHClientKeyExchange extends HandshakeMessage {
 
+    @Override
     int messageType() {
         return ht_client_key_exchange;
     }
@@ -63,14 +64,17 @@
         encodedPoint = input.getBytes8();
     }
 
+    @Override
     int messageLength() {
         return encodedPoint.length + 1;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putBytes8(encodedPoint);
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** ECDHClientKeyExchange");
 
--- a/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	Sat Nov 24 04:09:19 2012 -0800
@@ -31,7 +31,6 @@
 
 import javax.crypto.SecretKey;
 import javax.crypto.KeyAgreement;
-import javax.crypto.spec.*;
 
 /**
  * Helper class for the ECDH key exchange. It generates the appropriate
--- a/jdk/src/share/classes/sun/security/ssl/EngineInputRecord.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/EngineInputRecord.java	Sat Nov 24 04:09:19 2012 -0800
@@ -64,6 +64,7 @@
         this.engine = engine;
     }
 
+    @Override
     byte contentType() {
         if (internalData) {
             return super.contentType();
@@ -271,6 +272,7 @@
      * data to be generated/output before the exception is ever
      * generated.
      */
+    @Override
     void writeBuffer(OutputStream s, byte [] buf, int off, int len)
             throws IOException {
         /*
--- a/jdk/src/share/classes/sun/security/ssl/EngineOutputRecord.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/EngineOutputRecord.java	Sat Nov 24 04:09:19 2012 -0800
@@ -29,9 +29,6 @@
 import java.io.*;
 import java.nio.*;
 
-import javax.net.ssl.SSLException;
-import sun.misc.HexDumpEncoder;
-
 
 /**
  * A OutputRecord class extension which uses external ByteBuffers
@@ -95,6 +92,7 @@
         finishedMsg = true;
     }
 
+    @Override
     public void flush() throws IOException {
         finishedMsg = false;
     }
--- a/jdk/src/share/classes/sun/security/ssl/EngineWriter.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/EngineWriter.java	Sat Nov 24 04:09:19 2012 -0800
@@ -25,7 +25,6 @@
 
 package sun.security.ssl;
 
-import javax.net.ssl.*;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.LinkedList;
--- a/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	Sat Nov 24 04:09:19 2012 -0800
@@ -38,6 +38,7 @@
         this.name = name;
     }
 
+    @Override
     public String toString() {
         return name;
     }
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,9 +28,6 @@
 
 import java.io.ByteArrayOutputStream;
 import java.security.*;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.List;
 import java.util.Locale;
 import java.util.Set;
 
@@ -391,11 +388,13 @@
         // }
     }
 
+    @Override
     protected int engineGetDigestLength() {
         checkState();
         return digests[0].getDigestLength();
     }
 
+    @Override
     protected void engineUpdate(byte b) {
         checkState();
         for (int i = 0; (i < digests.length) && (digests[i] != null); i++) {
@@ -403,6 +402,7 @@
         }
     }
 
+    @Override
     protected void engineUpdate(byte[] b, int offset, int len) {
         checkState();
         for (int i = 0; (i < digests.length) && (digests[i] != null); i++) {
@@ -410,6 +410,7 @@
         }
     }
 
+    @Override
     protected byte[] engineDigest() {
         checkState();
         byte[] digest = digests[0].digest();
@@ -417,6 +418,7 @@
         return digest;
     }
 
+    @Override
     protected int engineDigest(byte[] buf, int offset, int len)
             throws DigestException {
         checkState();
@@ -436,6 +438,7 @@
         }
     }
 
+    @Override
     protected void engineReset() {
         checkState();
         for (int i = 0; (i < digests.length) && (digests[i] != null); i++) {
@@ -443,6 +446,7 @@
         }
     }
 
+    @Override
     public Object clone() {
         checkState();
         for (int i = digests.length - 1; i >= 0; i--) {
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeInStream.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeInStream.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,7 +28,6 @@
 
 import java.io.InputStream;
 import java.io.IOException;
-import java.security.MessageDigest;
 
 import javax.net.ssl.SSLException;
 
@@ -74,6 +73,7 @@
      * Note that this returns the bytes remaining in the buffer, not
      * the bytes remaining in the current handshake message.
      */
+    @Override
     public int available() {
         return r.available();
     }
@@ -81,6 +81,7 @@
     /*
      * Get a byte of handshake data.
      */
+    @Override
     public int read() throws IOException {
         int n = r.read();
         if (n == -1) {
@@ -92,6 +93,7 @@
     /*
      * Get a bunch of bytes of handshake data.
      */
+    @Override
     public int read(byte b [], int off, int len) throws IOException {
         // we read from a ByteArrayInputStream, it always returns the
         // data in a single read if enough is available
@@ -105,6 +107,7 @@
     /*
      * Skip some handshake data.
      */
+    @Override
     public long skip(long n) throws IOException {
         return r.skip(n);
     }
@@ -117,6 +120,7 @@
      * read, data that has already been consumed is lost even if marked).
      */
 
+    @Override
     public void mark(int readlimit) {
         r.mark(readlimit);
     }
@@ -126,6 +130,7 @@
         r.reset();
     }
 
+    @Override
     public boolean markSupported() {
         return true;
     }
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	Sat Nov 24 04:09:19 2012 -0800
@@ -170,6 +170,7 @@
  * session parameters after a connection has been (re)established.
  */
 static final class HelloRequest extends HandshakeMessage {
+    @Override
     int messageType() { return ht_hello_request; }
 
     HelloRequest() { }
@@ -179,13 +180,16 @@
         // nothing in this message
     }
 
+    @Override
     int messageLength() { return 0; }
 
+    @Override
     void send(HandshakeOutStream out) throws IOException
     {
         // nothing in this messaage
     }
 
+    @Override
     void print(PrintStream out) throws IOException
     {
         out.println("*** HelloRequest (empty)");
@@ -329,6 +333,7 @@
 static final
 class ServerHello extends HandshakeMessage
 {
+    @Override
     int messageType() { return ht_server_hello; }
 
     ProtocolVersion     protocolVersion;
@@ -355,6 +360,7 @@
         }
     }
 
+    @Override
     int messageLength()
     {
         // almost fixed size, except session ID and extensions:
@@ -366,6 +372,7 @@
         return 38 + sessionId.length() + extensions.length();
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException
     {
         s.putInt8(protocolVersion.major);
@@ -378,6 +385,7 @@
         extensions.send(s);
     }
 
+    @Override
     void print(PrintStream s) throws IOException
     {
         s.println("*** ServerHello, " + protocolVersion);
@@ -416,6 +424,7 @@
 static final
 class CertificateMsg extends HandshakeMessage
 {
+    @Override
     int messageType() { return ht_certificate; }
 
     private X509Certificate[] chain;
@@ -450,6 +459,7 @@
         chain = v.toArray(new X509Certificate[v.size()]);
     }
 
+    @Override
     int messageLength() {
         if (encodedChain == null) {
             messageLength = 3;
@@ -468,6 +478,7 @@
         return messageLength;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt24(messageLength() - 3);
         for (byte[] b : encodedChain) {
@@ -475,6 +486,7 @@
         }
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** Certificate chain");
 
@@ -528,6 +540,7 @@
  */
 static abstract class ServerKeyExchange extends HandshakeMessage
 {
+    @Override
     int messageType() { return ht_server_key_exchange; }
 }
 
@@ -635,17 +648,20 @@
         return signature.verify(signatureBytes);
     }
 
+    @Override
     int messageLength() {
         return 6 + rsa_modulus.length + rsa_exponent.length
                + signatureBytes.length;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putBytes16(rsa_modulus);
         s.putBytes16(rsa_exponent);
         s.putBytes16(signatureBytes);
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** RSA ServerKeyExchange");
 
@@ -874,6 +890,7 @@
         dh_Ys = toByteArray(obj.getPublicKey());
     }
 
+    @Override
     int messageLength() {
         int temp = 6;   // overhead for p, g, y(s) values.
 
@@ -895,6 +912,7 @@
         return temp;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putBytes16(dh_p);
         s.putBytes16(dh_g);
@@ -914,6 +932,7 @@
         }
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** Diffie-Hellman ServerKeyExchange");
 
@@ -1118,6 +1137,7 @@
         sig.update(pointBytes);
     }
 
+    @Override
     int messageLength() {
         int sigLen = 0;
         if (signatureBytes != null) {
@@ -1130,6 +1150,7 @@
         return 4 + pointBytes.length + sigLen;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt8(CURVE_NAMED_CURVE);
         s.putInt16(curveId);
@@ -1145,6 +1166,7 @@
         }
     }
 
+    @Override
     void print(PrintStream s) throws IOException {
         s.println("*** ECDH ServerKeyExchange");
 
@@ -1479,6 +1501,7 @@
 static final
 class ServerHelloDone extends HandshakeMessage
 {
+    @Override
     int messageType() { return ht_server_hello_done; }
 
     ServerHelloDone() { }
@@ -1488,16 +1511,19 @@
         // nothing to do
     }
 
+    @Override
     int messageLength()
     {
         return 0;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException
     {
         // nothing to send
     }
 
+    @Override
     void print(PrintStream s) throws IOException
     {
         s.println("*** ServerHelloDone");
@@ -1712,6 +1738,7 @@
 
     private static void makeAccessible(final AccessibleObject o) {
         AccessController.doPrivileged(new PrivilegedAction<Object>() {
+            @Override
             public Object run() {
                 o.setAccessible(true);
                 return null;
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,7 +28,6 @@
 
 import java.io.OutputStream;
 import java.io.IOException;
-import java.security.MessageDigest;
 
 /**
  * Output stream for handshake data.  This is used only internally
@@ -87,6 +86,7 @@
      * Hashes are updated automatically if something gets flushed to the
      * network (e.g. a big cert message etc).
      */
+    @Override
     public void write(byte buf[], int off, int len) throws IOException {
         while (len > 0) {
             int howmuch = Math.min(len, r.availableDataBytes());
@@ -104,6 +104,7 @@
     /*
      * write-a-byte
      */
+    @Override
     public void write(int i) throws IOException {
         if (r.availableDataBytes() < 1) {
             flush();
@@ -111,6 +112,7 @@
         r.write(i);
     }
 
+    @Override
     public void flush() throws IOException {
         if (socket != null) {
             try {
--- a/jdk/src/share/classes/sun/security/ssl/Handshaker.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/Handshaker.java	Sat Nov 24 04:09:19 2012 -0800
@@ -820,6 +820,7 @@
             processLoop();
         } else {
             delegateTask(new PrivilegedExceptionAction<Void>() {
+                @Override
                 public Void run() throws Exception {
                     processLoop();
                     return null;
--- a/jdk/src/share/classes/sun/security/ssl/HelloExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HelloExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -40,6 +40,7 @@
 
     abstract void send(HandshakeOutStream s) throws IOException;
 
+    @Override
     public abstract String toString();
 
 }
--- a/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	Sat Nov 24 04:09:19 2012 -0800
@@ -29,8 +29,6 @@
 import java.io.PrintStream;
 import java.util.*;
 import javax.net.ssl.*;
-import java.nio.charset.StandardCharsets;
-import java.security.spec.ECParameterSpec;
 
 /**
  * This file contains all the classes relevant to TLS Extensions for the
--- a/jdk/src/share/classes/sun/security/ssl/InputRecord.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/InputRecord.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,8 +28,6 @@
 
 import java.io.*;
 import java.nio.*;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
 
 import javax.crypto.BadPaddingException;
 
@@ -285,6 +283,7 @@
      * Prevent any more data from being read into this record,
      * and flag the record as holding no data.
      */
+    @Override
     public void close() {
         appDataValid = false;
         isClosed = true;
--- a/jdk/src/share/classes/sun/security/ssl/JsseJce.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/JsseJce.java	Sat Nov 24 04:09:19 2012 -0800
@@ -71,6 +71,7 @@
         try {
             AccessController.doPrivileged(
                 new PrivilegedExceptionAction<Void>() {
+                    @Override
                     public Void run() throws Exception {
                         // Test for Kerberos using the bootstrap class loader
                         Class.forName("sun.security.krb5.PrincipalName", true,
@@ -114,6 +115,7 @@
         SunCertificates(final Provider p) {
             super("SunCertificates", 1.0d, "SunJSSE internal");
             AccessController.doPrivileged(new PrivilegedAction<Object>() {
+                @Override
                 public Object run() {
                     // copy certificate related services from the Sun provider
                     for (Map.Entry<Object,Object> entry : p.entrySet()) {
--- a/jdk/src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java	Sat Nov 24 04:09:19 2012 -0800
@@ -44,6 +44,7 @@
 
     private static final Class<?> implClass = AccessController.doPrivileged(
             new PrivilegedAction<Class<?>>() {
+                @Override
                 public Class<?> run() {
                     try {
                         return Class.forName(IMPL_CLASS, true, null);
--- a/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -45,6 +45,7 @@
     /**
      * Returns one key manager for each type of key material.
      */
+    @Override
     protected KeyManager[] engineGetKeyManagers() {
         if (!isInitialized) {
             throw new IllegalStateException(
@@ -56,6 +57,7 @@
     // Factory for the SunX509 keymanager
     public static final class SunX509 extends KeyManagerFactoryImpl {
 
+        @Override
         protected void engineInit(KeyStore ks, char[] password) throws
                 KeyStoreException, NoSuchAlgorithmException,
                 UnrecoverableKeyException {
@@ -69,6 +71,7 @@
             isInitialized = true;
         }
 
+        @Override
         protected void engineInit(ManagerFactoryParameters spec) throws
                 InvalidAlgorithmParameterException {
             throw new InvalidAlgorithmParameterException(
@@ -80,6 +83,7 @@
     // Factory for the X509 keymanager
     public static final class X509 extends KeyManagerFactoryImpl {
 
+        @Override
         protected void engineInit(KeyStore ks, char[] password) throws
                 KeyStoreException, NoSuchAlgorithmException,
                 UnrecoverableKeyException {
@@ -102,6 +106,7 @@
             isInitialized = true;
         }
 
+        @Override
         protected void engineInit(ManagerFactoryParameters params) throws
                 InvalidAlgorithmParameterException {
             if (params instanceof KeyStoreBuilderParameters == false) {
--- a/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java	Sat Nov 24 04:09:19 2012 -0800
@@ -47,6 +47,7 @@
 
     private static final Krb5Proxy proxy =
         AccessController.doPrivileged(new PrivilegedAction<Krb5Proxy>() {
+            @Override
             public Krb5Proxy run() {
                 try {
                     Class<?> c = Class.forName(IMPL_CLASS, true, null);
--- a/jdk/src/share/classes/sun/security/ssl/OutputRecord.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/OutputRecord.java	Sat Nov 24 04:09:19 2012 -0800
@@ -116,6 +116,7 @@
      * Reset the record so that it can be refilled, starting
      * immediately after the header.
      */
+    @Override
     public synchronized void reset() {
         super.reset();
         count = headerSize;
--- a/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	Sat Nov 24 04:09:19 2012 -0800
@@ -147,6 +147,7 @@
         return protocolNames.clone();
     }
 
+    @Override
     public String toString() {
         return protocols.toString();
     }
--- a/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	Sat Nov 24 04:09:19 2012 -0800
@@ -165,6 +165,7 @@
         }
     }
 
+    @Override
     public String toString() {
         return name;
     }
@@ -172,6 +173,7 @@
     /**
      * Compares this object with the specified object for order.
      */
+    @Override
     public int compareTo(ProtocolVersion protocolVersion) {
         return this.v - protocolVersion.v;
     }
--- a/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,10 +28,8 @@
 
 import java.io.*;
 import java.security.*;
-import java.security.interfaces.*;
 
 import javax.crypto.*;
-import javax.crypto.spec.*;
 
 import javax.net.ssl.*;
 
--- a/jdk/src/share/classes/sun/security/ssl/RSASignature.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/RSASignature.java	Sat Nov 24 04:09:19 2012 -0800
@@ -26,8 +26,6 @@
 
 package sun.security.ssl;
 
-import java.util.Arrays;
-
 import java.security.*;
 
 /**
@@ -106,6 +104,7 @@
         }
     }
 
+    @Override
     protected void engineInitVerify(PublicKey publicKey)
             throws InvalidKeyException {
         checkNull(publicKey);
@@ -113,11 +112,13 @@
         rawRsa.initVerify(publicKey);
     }
 
+    @Override
     protected void engineInitSign(PrivateKey privateKey)
             throws InvalidKeyException {
         engineInitSign(privateKey, null);
     }
 
+    @Override
     protected void engineInitSign(PrivateKey privateKey, SecureRandom random)
             throws InvalidKeyException {
         checkNull(privateKey);
@@ -133,6 +134,7 @@
         }
     }
 
+    @Override
     protected void engineUpdate(byte b) {
         initDigests();
         isReset = false;
@@ -140,6 +142,7 @@
         sha.update(b);
     }
 
+    @Override
     protected void engineUpdate(byte[] b, int off, int len) {
         initDigests();
         isReset = false;
@@ -161,21 +164,25 @@
         }
     }
 
+    @Override
     protected byte[] engineSign() throws SignatureException {
         rawRsa.update(getDigest());
         return rawRsa.sign();
     }
 
+    @Override
     protected boolean engineVerify(byte[] sigBytes) throws SignatureException {
         return engineVerify(sigBytes, 0, sigBytes.length);
     }
 
+    @Override
     protected boolean engineVerify(byte[] sigBytes, int offset, int length)
             throws SignatureException {
         rawRsa.update(getDigest());
         return rawRsa.verify(sigBytes, offset, length);
     }
 
+    @Override
     protected void engineSetParameter(String param, Object value)
             throws InvalidParameterException {
         if (param.equals("hashes") == false) {
@@ -191,6 +198,7 @@
         sha = digests[1];
     }
 
+    @Override
     protected Object engineGetParameter(String param)
             throws InvalidParameterException {
         throw new InvalidParameterException("Parameters not supported");
--- a/jdk/src/share/classes/sun/security/ssl/RenegotiationInfoExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/RenegotiationInfoExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -85,10 +85,12 @@
 
 
     // Length of the encoded extension, including the type and length fields
+    @Override
     int length() {
         return 5 + renegotiated_connection.length;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt16(type.id);
         s.putInt16(renegotiated_connection.length + 1);
@@ -103,6 +105,7 @@
         return renegotiated_connection;
     }
 
+    @Override
     public String toString() {
         return "Extension " + type + ", renegotiated_connection: " +
                     (renegotiated_connection.length == 0 ? "<empty>" :
--- a/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	Sat Nov 24 04:09:19 2012 -0800
@@ -111,6 +111,7 @@
         }
     }
 
+    @Override
     public boolean permits(Set<CryptoPrimitive> primitives,
             String algorithm, AlgorithmParameters parameters) {
 
@@ -139,6 +140,7 @@
         return permitted;
     }
 
+    @Override
     public boolean permits(Set<CryptoPrimitive> primitives, Key key) {
 
         boolean permitted = true;
@@ -162,6 +164,7 @@
         return permitted;
     }
 
+    @Override
     public boolean permits(Set<CryptoPrimitive> primitives,
             String algorithm, Key key, AlgorithmParameters parameters) {
 
@@ -204,6 +207,7 @@
             }
         }
 
+        @Override
         public boolean permits(Set<CryptoPrimitive> primitives,
                 String algorithm, AlgorithmParameters parameters) {
 
@@ -237,10 +241,12 @@
             return false;
         }
 
+        @Override
         final public boolean permits(Set<CryptoPrimitive> primitives, Key key) {
             return true;
         }
 
+        @Override
         final public boolean permits(Set<CryptoPrimitive> primitives,
                 String algorithm, Key key, AlgorithmParameters parameters) {
 
--- a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -71,6 +71,7 @@
         serverCache = new SSLSessionContextImpl();
     }
 
+    @Override
     protected void engineInit(KeyManager[] km, TrustManager[] tm,
                                 SecureRandom sr) throws KeyManagementException {
         isInitialized = false;
@@ -177,6 +178,7 @@
         return DummyX509KeyManager.INSTANCE;
     }
 
+    @Override
     protected SSLSocketFactory engineGetSocketFactory() {
         if (!isInitialized) {
             throw new IllegalStateException(
@@ -185,6 +187,7 @@
        return new SSLSocketFactoryImpl(this);
     }
 
+    @Override
     protected SSLServerSocketFactory engineGetServerSocketFactory() {
         if (!isInitialized) {
             throw new IllegalStateException("SSLContext is not initialized");
@@ -192,6 +195,7 @@
         return new SSLServerSocketFactoryImpl(this);
     }
 
+    @Override
     protected SSLEngine engineCreateSSLEngine() {
         if (!isInitialized) {
             throw new IllegalStateException(
@@ -200,6 +204,7 @@
         return new SSLEngineImpl(this);
     }
 
+    @Override
     protected SSLEngine engineCreateSSLEngine(String host, int port) {
         if (!isInitialized) {
             throw new IllegalStateException(
@@ -208,10 +213,12 @@
         return new SSLEngineImpl(this, host, port);
     }
 
+    @Override
     protected SSLSessionContext engineGetClientSessionContext() {
         return clientCache;
     }
 
+    @Override
     protected SSLSessionContext engineGetServerSessionContext() {
         return serverCache;
     }
@@ -463,14 +470,17 @@
             }
         }
 
+        @Override
         SSLParameters getDefaultServerSSLParams() {
             return defaultServerSSLParams;
         }
 
+        @Override
         SSLParameters getDefaultClientSSLParams() {
             return defaultClientSSLParams;
         }
 
+        @Override
         SSLParameters getSupportedSSLParams() {
             return supportedSSLParams;
         }
@@ -506,6 +516,7 @@
             }
         }
 
+        @Override
         protected void engineInit(KeyManager[] km, TrustManager[] tm,
             SecureRandom sr) throws KeyManagementException {
             throw new KeyManagementException
@@ -544,6 +555,7 @@
             final Map<String,String> props = new HashMap<>();
             AccessController.doPrivileged(
                         new PrivilegedExceptionAction<Object>() {
+                @Override
                 public Object run() throws Exception {
                     props.put("keyStore",  System.getProperty(
                                 "javax.net.ssl.keyStore", ""));
@@ -583,6 +595,7 @@
                         !NONE.equals(defaultKeyStore)) {
                     fs = AccessController.doPrivileged(
                             new PrivilegedExceptionAction<FileInputStream>() {
+                        @Override
                         public FileInputStream run() throws Exception {
                             return new FileInputStream(defaultKeyStore);
                         }
@@ -697,14 +710,17 @@
             }
         }
 
+        @Override
         SSLParameters getDefaultServerSSLParams() {
             return defaultServerSSLParams;
         }
 
+        @Override
         SSLParameters getDefaultClientSSLParams() {
             return defaultClientSSLParams;
         }
 
+        @Override
         SSLParameters getSupportedSSLParams() {
             return supportedSSLParams;
         }
@@ -761,14 +777,17 @@
             }
         }
 
+        @Override
         SSLParameters getDefaultServerSSLParams() {
             return defaultServerSSLParams;
         }
 
+        @Override
         SSLParameters getDefaultClientSSLParams() {
             return defaultClientSSLParams;
         }
 
+        @Override
         SSLParameters getSupportedSSLParams() {
             return supportedSSLParams;
         }
@@ -1041,28 +1060,34 @@
         this.km = km;
     }
 
+    @Override
     public String[] getClientAliases(String keyType, Principal[] issuers) {
         return km.getClientAliases(keyType, issuers);
     }
 
+    @Override
     public String chooseClientAlias(String[] keyType, Principal[] issuers,
             Socket socket) {
         return km.chooseClientAlias(keyType, issuers, socket);
     }
 
+    @Override
     public String[] getServerAliases(String keyType, Principal[] issuers) {
         return km.getServerAliases(keyType, issuers);
     }
 
+    @Override
     public String chooseServerAlias(String keyType, Principal[] issuers,
             Socket socket) {
         return km.chooseServerAlias(keyType, issuers, socket);
     }
 
+    @Override
     public X509Certificate[] getCertificateChain(String alias) {
         return km.getCertificateChain(alias);
     }
 
+    @Override
     public PrivateKey getPrivateKey(String alias) {
         return km.getPrivateKey(alias);
     }
@@ -1087,6 +1112,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String[] getClientAliases(String keyType, Principal[] issuers) {
         return null;
     }
@@ -1096,6 +1122,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseClientAlias(String[] keyTypes, Principal[] issuers,
             Socket socket) {
         return null;
@@ -1106,6 +1133,7 @@
      * engine given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseEngineClientAlias(
             String[] keyTypes, Principal[] issuers, SSLEngine engine) {
         return null;
@@ -1116,6 +1144,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String[] getServerAliases(String keyType, Principal[] issuers) {
         return null;
     }
@@ -1125,6 +1154,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseServerAlias(String keyType, Principal[] issuers,
             Socket socket) {
         return null;
@@ -1135,6 +1165,7 @@
      * given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseEngineServerAlias(
             String keyType, Principal[] issuers, SSLEngine engine) {
         return null;
@@ -1148,6 +1179,7 @@
      * @return the certificate chain (ordered with the user's certificate first
      * and the root certificate authority last)
      */
+    @Override
     public X509Certificate[] getCertificateChain(String alias) {
         return null;
     }
@@ -1160,6 +1192,7 @@
      *
      * @return the requested key
      */
+    @Override
     public PrivateKey getPrivateKey(String alias) {
         return null;
     }
--- a/jdk/src/share/classes/sun/security/ssl/SSLEngineImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLEngineImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -553,6 +553,7 @@
     /*
      * Is a handshake currently underway?
      */
+    @Override
     public SSLEngineResult.HandshakeStatus getHandshakeStatus() {
         return getHSStatus(null);
     }
@@ -736,6 +737,7 @@
     /*
      * Start a SSLEngine handshake
      */
+    @Override
     public void beginHandshake() throws SSLException {
         try {
             kickstartHandshake();
@@ -755,6 +757,7 @@
      * Unwraps a buffer.  Does a variety of checks before grabbing
      * the unwrapLock, which blocks multiple unwraps from occuring.
      */
+    @Override
     public SSLEngineResult unwrap(ByteBuffer netData, ByteBuffer [] appData,
             int offset, int length) throws SSLException {
 
@@ -1155,6 +1158,7 @@
      * Wraps a buffer.  Does a variety of checks before grabbing
      * the wrapLock, which blocks multiple wraps from occuring.
      */
+    @Override
     public SSLEngineResult wrap(ByteBuffer [] appData,
             int offset, int length, ByteBuffer netData) throws SSLException {
 
@@ -1476,6 +1480,7 @@
         connectionState = cs_CLOSED;
     }
 
+    @Override
     synchronized public void closeOutbound() {
         /*
          * Dump out a close_notify to the remote side
@@ -1491,6 +1496,7 @@
     /**
      * Returns the outbound application data closure state
      */
+    @Override
     public boolean isOutboundDone() {
         return writer.isOutboundDone();
     }
@@ -1527,6 +1533,7 @@
      * lock here, and do the real work in the internal verison.
      * We do check for truncation attacks.
      */
+    @Override
     synchronized public void closeInbound() throws SSLException {
         /*
          * Currently closes the outbound side as well.  The IETF TLS
@@ -1559,6 +1566,7 @@
     /**
      * Returns the network inbound data closure state
      */
+    @Override
     synchronized public boolean isInboundDone() {
         return inboundDone;
     }
@@ -1576,6 +1584,7 @@
      * These can be long lived, and frequently correspond to an
      * entire login session for some user.
      */
+    @Override
     synchronized public SSLSession getSession() {
         return sess;
     }
@@ -1593,6 +1602,7 @@
      * Returns a delegated <code>Runnable</code> task for
      * this <code>SSLEngine</code>.
      */
+    @Override
     synchronized public Runnable getDelegatedTask() {
         if (handshaker != null) {
             return handshaker.getTask();
@@ -1847,6 +1857,7 @@
      * whether we enable session creations.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setEnableSessionCreation(boolean flag) {
         enableSessionCreation = flag;
 
@@ -1859,6 +1870,7 @@
      * Returns true if new connections may cause creation of new SSL
      * sessions.
      */
+    @Override
     synchronized public boolean getEnableSessionCreation() {
         return enableSessionCreation;
     }
@@ -1872,6 +1884,7 @@
      * whether client authentication is needed.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setNeedClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_required : SSLEngineImpl.clauth_none);
@@ -1883,6 +1896,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getNeedClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_required);
     }
@@ -1895,6 +1909,7 @@
      * whether client authentication is requested.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setWantClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_requested : SSLEngineImpl.clauth_none);
@@ -1906,6 +1921,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getWantClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_requested);
     }
@@ -1916,6 +1932,7 @@
      * client or server mode.  Must be called before any SSL
      * traffic has started.
      */
+    @Override
     @SuppressWarnings("fallthrough")
     synchronized public void setUseClientMode(boolean flag) {
         switch (connectionState) {
@@ -1979,6 +1996,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getUseClientMode() {
         return !roleIsServer;
     }
@@ -1994,6 +2012,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     public String[] getSupportedCipherSuites() {
         return sslContext.getSupportedCipherSuiteList().toStringArray();
     }
@@ -2007,6 +2026,7 @@
      *
      * @param suites Names of all the cipher suites to enable.
      */
+    @Override
     synchronized public void setEnabledCipherSuites(String[] suites) {
         enabledCipherSuites = new CipherSuiteList(suites);
         if ((handshaker != null) && !handshaker.activated()) {
@@ -2024,6 +2044,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     synchronized public String[] getEnabledCipherSuites() {
         return enabledCipherSuites.toStringArray();
     }
@@ -2034,6 +2055,7 @@
      * A subset of the supported protocols may be enabled for this connection
      * @return an array of protocol names.
      */
+    @Override
     public String[] getSupportedProtocols() {
         return sslContext.getSuportedProtocolList().toStringArray();
     }
@@ -2047,6 +2069,7 @@
      * @exception IllegalArgumentException when one of the protocols
      *  named by the parameter is not supported.
      */
+    @Override
     synchronized public void setEnabledProtocols(String[] protocols) {
         enabledProtocols = new ProtocolList(protocols);
         if ((handshaker != null) && !handshaker.activated()) {
@@ -2054,6 +2077,7 @@
         }
     }
 
+    @Override
     synchronized public String[] getEnabledProtocols() {
         return enabledProtocols.toStringArray();
     }
@@ -2061,6 +2085,7 @@
     /**
      * Returns the SSLParameters in effect for this SSLEngine.
      */
+    @Override
     synchronized public SSLParameters getSSLParameters() {
         SSLParameters params = super.getSSLParameters();
 
@@ -2076,6 +2101,7 @@
     /**
      * Applies SSLParameters to this engine.
      */
+    @Override
     synchronized public void setSSLParameters(SSLParameters params) {
         super.setSSLParameters(params);
 
@@ -2107,6 +2133,7 @@
     /**
      * Returns a printable representation of this end of the connection.
      */
+    @Override
     public String toString() {
         StringBuilder retval = new StringBuilder(80);
 
--- a/jdk/src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -67,10 +67,12 @@
      * @throws IOException if the socket cannot be created
      * @see java.net.Socket#bind(java.net.SocketAddress)
      */
+    @Override
     public ServerSocket createServerSocket() throws IOException {
         return new SSLServerSocketImpl(context);
     }
 
+    @Override
     public ServerSocket createServerSocket (int port)
     throws IOException
     {
@@ -78,12 +80,14 @@
     }
 
 
+    @Override
     public ServerSocket createServerSocket (int port, int backlog)
     throws IOException
     {
         return new SSLServerSocketImpl (port, backlog, context);
     }
 
+    @Override
     public ServerSocket
     createServerSocket (int port, int backlog, InetAddress ifAddress)
     throws IOException
@@ -98,6 +102,7 @@
      * (preventing person-in-the-middle attacks) and where traffic
      * is encrypted to provide confidentiality.
      */
+    @Override
     public String[] getDefaultCipherSuites() {
         return context.getDefaultCipherSuiteList(true).toStringArray();
     }
@@ -112,6 +117,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     public String[] getSupportedCipherSuites() {
         return context.getSupportedCipherSuiteList().toStringArray();
     }
--- a/jdk/src/share/classes/sun/security/ssl/SSLServerSocketImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLServerSocketImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -29,13 +29,11 @@
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.Socket;
-import java.net.ServerSocket;
 
 import java.security.AlgorithmConstraints;
 
 import java.util.*;
 
-import javax.net.ServerSocketFactory;
 import javax.net.ssl.SSLException;
 import javax.net.ssl.SSLServerSocket;
 import javax.net.ssl.SSLParameters;
@@ -172,6 +170,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     public String[] getSupportedCipherSuites() {
         return sslContext.getSupportedCipherSuiteList().toStringArray();
     }
@@ -181,6 +180,7 @@
      * for use by newly accepted connections.  A null return indicates
      * that the system defaults are in effect.
      */
+    @Override
     synchronized public String[] getEnabledCipherSuites() {
         return enabledCipherSuites.toStringArray();
     }
@@ -192,11 +192,13 @@
      * @param suites Names of all the cipher suites to enable; null
      *  means to accept system defaults.
      */
+    @Override
     synchronized public void setEnabledCipherSuites(String[] suites) {
         enabledCipherSuites = new CipherSuiteList(suites);
         checkedEnabled = false;
     }
 
+    @Override
     public String[] getSupportedProtocols() {
         return sslContext.getSuportedProtocolList().toStringArray();
     }
@@ -210,10 +212,12 @@
      * @exception IllegalArgumentException when one of the protocols
      *  named by the parameter is not supported.
      */
+    @Override
     synchronized public void setEnabledProtocols(String[] protocols) {
         enabledProtocols = new ProtocolList(protocols);
     }
 
+    @Override
     synchronized public String[] getEnabledProtocols() {
         return enabledProtocols.toStringArray();
     }
@@ -222,11 +226,13 @@
      * Controls whether the connections which are accepted must include
      * client authentication.
      */
+    @Override
     public void setNeedClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_required : SSLEngineImpl.clauth_none);
     }
 
+    @Override
     public boolean getNeedClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_required);
     }
@@ -235,11 +241,13 @@
      * Controls whether the connections which are accepted should request
      * client authentication.
      */
+    @Override
     public void setWantClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_requested : SSLEngineImpl.clauth_none);
     }
 
+    @Override
     public boolean getWantClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_requested);
     }
@@ -250,6 +258,7 @@
      * FTP clients, which accept connections from servers and should be
      * rejoining the already-negotiated SSL connection.
      */
+    @Override
     public void setUseClientMode(boolean flag) {
         /*
          * If we need to change the socket mode and the enabled
@@ -264,6 +273,7 @@
         useServerMode = !flag;
     }
 
+    @Override
     public boolean getUseClientMode() {
         return !useServerMode;
     }
@@ -273,6 +283,7 @@
      * Controls whether new connections may cause creation of new SSL
      * sessions.
      */
+    @Override
     public void setEnableSessionCreation(boolean flag) {
         enableSessionCreation = flag;
     }
@@ -281,6 +292,7 @@
      * Returns true if new connections may cause creation of new SSL
      * sessions.
      */
+    @Override
     public boolean getEnableSessionCreation() {
         return enableSessionCreation;
     }
@@ -288,6 +300,7 @@
     /**
      * Returns the SSLParameters in effect for newly accepted connections.
      */
+    @Override
     synchronized public SSLParameters getSSLParameters() {
         SSLParameters params = super.getSSLParameters();
 
@@ -302,6 +315,7 @@
     /**
      * Applies SSLParameters to newly accepted connections.
      */
+    @Override
     synchronized public void setSSLParameters(SSLParameters params) {
         super.setSSLParameters(params);
 
@@ -319,6 +333,7 @@
      * information provided in the authentication context which was
      * presented during construction.
      */
+    @Override
     public Socket accept() throws IOException {
         SSLSocketImpl s = new SSLSocketImpl(sslContext, useServerMode,
             enabledCipherSuites, doClientAuth, enableSessionCreation,
@@ -333,6 +348,7 @@
     /**
      * Provides a brief description of this SSL socket.
      */
+    @Override
     public String toString() {
         return "[SSL: "+ super.toString() + "]";
     }
--- a/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -26,24 +26,14 @@
 
 package sun.security.ssl;
 
-import java.io.*;
-import java.net.*;
-import java.util.Date;
 import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.NoSuchElementException;
 import java.util.Vector;
 import java.util.Locale;
 
 import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLSessionContext;
-import javax.net.ssl.SSLSessionBindingListener;
-import javax.net.ssl.SSLSessionBindingEvent;
-import javax.net.ssl.SSLPeerUnverifiedException;
-import javax.net.ssl.SSLSession;
 
 import sun.security.util.Cache;
-import sun.security.util.Cache.CacheVisitor;
 
 
 final class SSLSessionContextImpl implements SSLSessionContext {
@@ -69,6 +59,7 @@
     /**
      * Returns the <code>SSLSession</code> bound to the specified session id.
      */
+    @Override
     public SSLSession getSession(byte[] sessionId) {
         if (sessionId == null) {
             throw new NullPointerException("session id cannot be null");
@@ -85,6 +76,7 @@
     /**
      * Returns an enumeration of the active SSL sessions.
      */
+    @Override
     public Enumeration<byte[]> getIds() {
         SessionCacheVisitor scVisitor = new SessionCacheVisitor();
         sessionCache.accept(scVisitor);
@@ -99,6 +91,7 @@
      * should be timed within the shorter one of the old timeout and the
      * new timeout.
      */
+    @Override
     public void setSessionTimeout(int seconds)
                  throws IllegalArgumentException {
         if (seconds < 0) {
@@ -115,6 +108,7 @@
     /**
      * Gets the timeout limit for cached <code>SSLSession</code> objects
      */
+    @Override
     public int getSessionTimeout() {
         return timeout;
     }
@@ -123,6 +117,7 @@
      * Sets the size of the cache used for storing
      * <code>SSLSession</code> objects.
      */
+    @Override
     public void setSessionCacheSize(int size)
                  throws IllegalArgumentException {
         if (size < 0)
@@ -139,6 +134,7 @@
      * Gets the size of the cache used for storing
      * <code>SSLSession</code> objects.
      */
+    @Override
     public int getSessionCacheSize() {
         return cacheLimit;
     }
@@ -207,6 +203,7 @@
         try {
         String s = java.security.AccessController.doPrivileged(
                 new java.security.PrivilegedAction<String>() {
+                @Override
                 public String run() {
                     return System.getProperty(
                         "javax.net.ssl.sessionCacheSize");
@@ -238,6 +235,7 @@
         Vector<byte[]> ids = null;
 
         // public void visit(java.util.Map<K,V> map) {}
+        @Override
         public void visit(java.util.Map<SessionId, SSLSessionImpl> map) {
             ids = new Vector<>(map.size());
 
--- a/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -26,12 +26,10 @@
 
 package sun.security.ssl;
 
-import java.io.*;
 import java.net.*;
 import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.Vector;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -45,20 +43,14 @@
 
 import javax.crypto.SecretKey;
 
-import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLSessionContext;
 import javax.net.ssl.SSLSessionBindingListener;
 import javax.net.ssl.SSLSessionBindingEvent;
 import javax.net.ssl.SSLPeerUnverifiedException;
-import javax.net.ssl.SSLSession;
 import javax.net.ssl.SSLPermission;
-import javax.net.ssl.SSLException;
 import javax.net.ssl.ExtendedSSLSession;
 import javax.net.ssl.SNIServerName;
 
-import javax.security.auth.x500.X500Principal;
-
-import static sun.security.ssl.CipherSuite.*;
 import static sun.security.ssl.CipherSuite.KeyExchange.*;
 
 /**
@@ -250,6 +242,7 @@
             !invalidated && isLocalAuthenticationValid();
     }
 
+    @Override
     public synchronized boolean isValid() {
         return isRejoinable();
     }
@@ -277,6 +270,7 @@
      * Returns the ID for this session.  The ID is fixed for the
      * duration of the session; neither it, nor its value, changes.
      */
+    @Override
     public byte[] getId() {
         return sessionId.getId();
     }
@@ -286,6 +280,7 @@
      * are currently valid in this process.  For client sessions,
      * this returns null.
      */
+    @Override
     public SSLSessionContext getSessionContext() {
         /*
          * An interim security policy until we can do something
@@ -332,6 +327,7 @@
     /**
      * Returns the name of the cipher suite in use on this session
      */
+    @Override
     public String getCipherSuite() {
         return getSuite().name;
     }
@@ -343,6 +339,7 @@
     /**
      * Returns the standard name of the protocol in use on this session
      */
+    @Override
     public String getProtocol() {
         return getProtocolVersion().name;
     }
@@ -357,6 +354,7 @@
     /**
      * Returns the hashcode for this session
      */
+    @Override
     public int hashCode() {
         return sessionId.hashCode();
     }
@@ -365,6 +363,7 @@
     /**
      * Returns true if sessions have same ids, false otherwise.
      */
+    @Override
     public boolean equals(Object obj) {
 
         if (obj == this) {
@@ -391,6 +390,7 @@
      * @return array of peer X.509 certs, with the peer's own cert
      *  first in the chain, and with the "root" CA last.
      */
+    @Override
     public java.security.cert.Certificate[] getPeerCertificates()
             throws SSLPeerUnverifiedException {
         //
@@ -421,6 +421,7 @@
      * @return array of peer X.509 certs, with the peer's own cert
      *  first in the chain, and with the "root" CA last.
      */
+    @Override
     public java.security.cert.Certificate[] getLocalCertificates() {
         //
         // clone to preserve integrity of session ... caller can't
@@ -440,6 +441,7 @@
      * @return array of peer X.509 certs, with the peer's own cert
      *  first in the chain, and with the "root" CA last.
      */
+    @Override
     public javax.security.cert.X509Certificate[] getPeerCertificateChain()
             throws SSLPeerUnverifiedException {
         //
@@ -511,6 +513,7 @@
      * @throws SSLPeerUnverifiedException if the peer's identity has not
      *          been verified
      */
+    @Override
     public Principal getPeerPrincipal()
                 throws SSLPeerUnverifiedException
     {
@@ -537,6 +540,7 @@
      * Principal for Kerberos cipher suites. If no principal was
      * sent, then null is returned.
      */
+    @Override
     public Principal getLocalPrincipal() {
 
         if ((cipherSuite.keyExchange == K_KRB5) ||
@@ -551,6 +555,7 @@
     /**
      * Returns the time this session was created.
      */
+    @Override
     public long getCreationTime() {
         return creationTime;
     }
@@ -559,6 +564,7 @@
      * Returns the last time this session was used to initialize
      * a connection.
      */
+    @Override
     public long getLastAccessedTime() {
         return (lastUsedTime != 0) ? lastUsedTime : creationTime;
     }
@@ -582,6 +588,7 @@
         }
     }
 
+    @Override
     public String getPeerHost() {
         return host;
     }
@@ -590,6 +597,7 @@
      * Need to provide the port info for caching sessions based on
      * host and port. Accessed by SSLSessionContextImpl
      */
+    @Override
     public int getPeerPort() {
         return port;
     }
@@ -604,6 +612,7 @@
      * Invalidate a session.  Active connections may still exist, but
      * no connections will be able to rejoin this session.
      */
+    @Override
     synchronized public void invalidate() {
         //
         // Can't invalidate the NULL session -- this would be
@@ -634,6 +643,7 @@
      * Assigns a session value.  Session change events are given if
      * appropriate, to any original value as well as the new value.
      */
+    @Override
     public void putValue(String key, Object value) {
         if ((key == null) || (value == null)) {
             throw new IllegalArgumentException("arguments can not be null");
@@ -660,6 +670,7 @@
     /**
      * Returns the specified session value.
      */
+    @Override
     public Object getValue(String key) {
         if (key == null) {
             throw new IllegalArgumentException("argument can not be null");
@@ -674,6 +685,7 @@
      * Removes the specified session value, delivering a session changed
      * event as appropriate.
      */
+    @Override
     public void removeValue(String key) {
         if (key == null) {
             throw new IllegalArgumentException("argument can not be null");
@@ -694,6 +706,7 @@
     /**
      * Lists the names of the session values.
      */
+    @Override
     public String[] getValueNames() {
         Enumeration<SecureKey> e;
         Vector<Object> v = new Vector<>();
@@ -741,6 +754,7 @@
      * Gets the current size of the largest SSL/TLS packet that is expected
      * when using this session.
      */
+    @Override
     public synchronized int getPacketBufferSize() {
         return acceptLargeFragments ?
                 Record.maxLargeRecordSize : Record.maxRecordSize;
@@ -750,6 +764,7 @@
      * Gets the current size of the largest application data that is
      * expected when using this session.
      */
+    @Override
     public synchronized int getApplicationBufferSize() {
         return getPacketBufferSize() - Record.headerSize;
     }
@@ -795,6 +810,7 @@
     }
 
     /** Returns a string representation of this SSL session */
+    @Override
     public String toString() {
         return "[Session-" + sessionCount
             + ", " + getCipherSuite()
@@ -805,6 +821,7 @@
      * When SSL sessions are finalized, all values bound to
      * them are removed.
      */
+    @Override
     public void finalize() {
         String[] names = getValueNames();
         for (int i = 0; i < names.length; i++) {
@@ -847,10 +864,12 @@
         return securityCtx;
     }
 
+    @Override
     public int hashCode() {
         return appKey.hashCode() ^ securityCtx.hashCode();
     }
 
+    @Override
     public boolean equals(Object o) {
         return o instanceof SecureKey && ((SecureKey)o).appKey.equals(appKey)
                         && ((SecureKey)o).securityCtx.equals(securityCtx);
--- a/jdk/src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,7 +28,6 @@
 import java.io.*;
 import java.net.*;
 import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.SSLSocket;
 
 
 /**
@@ -69,6 +68,7 @@
      * @return the unconnected socket
      * @see java.net.Socket#connect(java.net.SocketAddress, int)
      */
+    @Override
     public Socket createSocket() {
         return new SSLSocketImpl(context);
     }
@@ -82,6 +82,7 @@
      * @param host name of the host with which to connect
      * @param port number of the server's port
      */
+    @Override
     public Socket createSocket(String host, int port)
     throws IOException, UnknownHostException
     {
@@ -104,6 +105,7 @@
      * @exception IOException if the connection can't be established
      * @exception UnknownHostException if the host is not known
      */
+    @Override
     public Socket createSocket(Socket s, String host, int port,
             boolean autoClose) throws IOException {
         return new SSLSocketImpl(context, s, host, port, autoClose);
@@ -129,6 +131,7 @@
      * @param address the server's host
      * @param port its port
      */
+    @Override
     public Socket createSocket(InetAddress address, int port)
     throws IOException
     {
@@ -143,6 +146,7 @@
      * has been configured. The socket will also bind() to the local
      * address and port supplied.
      */
+    @Override
     public Socket createSocket(String host, int port,
         InetAddress clientAddress, int clientPort)
     throws IOException
@@ -158,6 +162,7 @@
      * context which has been configured. The socket will also bind() to
      * the local address and port supplied.
      */
+    @Override
     public Socket createSocket(InetAddress address, int port,
         InetAddress clientAddress, int clientPort)
     throws IOException
@@ -174,6 +179,7 @@
      * (preventing person-in-the-middle attacks) and where traffic
      * is encrypted to provide confidentiality.
      */
+    @Override
     public String[] getDefaultCipherSuites() {
         return context.getDefaultCipherSuiteList(false).toStringArray();
     }
@@ -186,6 +192,7 @@
      * which do not protect data confidentiality.  Servers may also need
      * certain kinds of certificates to use certain cipher suites.
      */
+    @Override
     public String[] getSupportedCipherSuites() {
         return context.getSupportedCipherSuiteList().toStringArray();
     }
--- a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -36,7 +36,6 @@
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.ReentrantLock;
-import java.nio.charset.StandardCharsets;
 
 import javax.crypto.BadPaddingException;
 import javax.net.ssl.*;
@@ -626,6 +625,7 @@
      * @throws  IOException if an error occurs during the connection
      * @throws  SocketTimeoutException if timeout expires before connecting
      */
+    @Override
     public void connect(SocketAddress endpoint, int timeout)
             throws IOException {
 
@@ -1357,6 +1357,7 @@
     /**
      * Starts an SSL handshake on this connection.
      */
+    @Override
     public void startHandshake() throws IOException {
         // start an ssl handshake that could be resumed from timeout exception
         startHandshake(true);
@@ -1481,6 +1482,7 @@
     /**
      * Return whether the socket has been explicitly closed by the application.
      */
+    @Override
     public boolean isClosed() {
         return getConnectionState() == cs_APP_CLOSED;
     }
@@ -1567,6 +1569,7 @@
      * rather than leaving it for finalization, so that your remote
      * peer does not experience a protocol error.
      */
+    @Override
     public void close() throws IOException {
         if ((debug != null) && Debug.isOn("ssl")) {
             System.out.println(Thread.currentThread().getName() +
@@ -2155,6 +2158,7 @@
      * Data read from this stream was always integrity protected in
      * transit, and will usually have been confidentiality protected.
      */
+    @Override
     synchronized public InputStream getInputStream() throws IOException {
         if (isClosed()) {
             throw new SocketException("Socket is closed");
@@ -2176,6 +2180,7 @@
      * Data written on this stream is always integrity protected, and
      * will usually be confidentiality protected.
      */
+    @Override
     synchronized public OutputStream getOutputStream() throws IOException {
         if (isClosed()) {
             throw new SocketException("Socket is closed");
@@ -2197,6 +2202,7 @@
      * be long lived, and frequently correspond to an entire login session
      * for some user.
      */
+    @Override
     public SSLSession getSession() {
         /*
          * Force a synchronous handshake, if appropriate.
@@ -2235,6 +2241,7 @@
      * whether we enable session creations.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setEnableSessionCreation(boolean flag) {
         enableSessionCreation = flag;
 
@@ -2247,6 +2254,7 @@
      * Returns true if new connections may cause creation of new SSL
      * sessions.
      */
+    @Override
     synchronized public boolean getEnableSessionCreation() {
         return enableSessionCreation;
     }
@@ -2260,6 +2268,7 @@
      * whether client authentication is needed.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setNeedClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_required : SSLEngineImpl.clauth_none);
@@ -2271,6 +2280,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getNeedClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_required);
     }
@@ -2283,6 +2293,7 @@
      * whether client authentication is requested.  Otherwise,
      * we will need to wait for the next handshake.
      */
+    @Override
     synchronized public void setWantClientAuth(boolean flag) {
         doClientAuth = (flag ?
             SSLEngineImpl.clauth_requested : SSLEngineImpl.clauth_none);
@@ -2294,6 +2305,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getWantClientAuth() {
         return (doClientAuth == SSLEngineImpl.clauth_requested);
     }
@@ -2304,6 +2316,7 @@
      * client or server mode.  Must be called before any SSL
      * traffic has started.
      */
+    @Override
     @SuppressWarnings("fallthrough")
     synchronized public void setUseClientMode(boolean flag) {
         switch (connectionState) {
@@ -2359,6 +2372,7 @@
         }
     }
 
+    @Override
     synchronized public boolean getUseClientMode() {
         return !roleIsServer;
     }
@@ -2374,6 +2388,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     public String[] getSupportedCipherSuites() {
         return sslContext.getSupportedCipherSuiteList().toStringArray();
     }
@@ -2387,6 +2402,7 @@
      *
      * @param suites Names of all the cipher suites to enable.
      */
+    @Override
     synchronized public void setEnabledCipherSuites(String[] suites) {
         enabledCipherSuites = new CipherSuiteList(suites);
         if ((handshaker != null) && !handshaker.activated()) {
@@ -2404,6 +2420,7 @@
      *
      * @return an array of cipher suite names
      */
+    @Override
     synchronized public String[] getEnabledCipherSuites() {
         return enabledCipherSuites.toStringArray();
     }
@@ -2414,6 +2431,7 @@
      * A subset of the supported protocols may be enabled for this connection
      * @return an array of protocol names.
      */
+    @Override
     public String[] getSupportedProtocols() {
         return sslContext.getSuportedProtocolList().toStringArray();
     }
@@ -2427,6 +2445,7 @@
      * @exception IllegalArgumentException when one of the protocols
      *  named by the parameter is not supported.
      */
+    @Override
     synchronized public void setEnabledProtocols(String[] protocols) {
         enabledProtocols = new ProtocolList(protocols);
         if ((handshaker != null) && !handshaker.activated()) {
@@ -2434,6 +2453,7 @@
         }
     }
 
+    @Override
     synchronized public String[] getEnabledProtocols() {
         return enabledProtocols.toStringArray();
     }
@@ -2442,6 +2462,7 @@
      * Assigns the socket timeout.
      * @see java.net.Socket#setSoTimeout
      */
+    @Override
     public void setSoTimeout(int timeout) throws SocketException {
         if ((debug != null) && Debug.isOn("ssl")) {
             System.out.println(Thread.currentThread().getName() +
@@ -2455,6 +2476,7 @@
      * Registers an event listener to receive notifications that an
      * SSL handshake has completed on this connection.
      */
+    @Override
     public synchronized void addHandshakeCompletedListener(
             HandshakeCompletedListener listener) {
         if (listener == null) {
@@ -2471,6 +2493,7 @@
     /**
      * Removes a previously registered handshake completion listener.
      */
+    @Override
     public synchronized void removeHandshakeCompletedListener(
             HandshakeCompletedListener listener) {
         if (handshakeListeners == null) {
@@ -2487,6 +2510,7 @@
     /**
      * Returns the SSLParameters in effect for this SSLSocket.
      */
+    @Override
     synchronized public SSLParameters getSSLParameters() {
         SSLParameters params = super.getSSLParameters();
 
@@ -2502,6 +2526,7 @@
     /**
      * Applies SSLParameters to this socket.
      */
+    @Override
     synchronized public void setSSLParameters(SSLParameters params) {
         super.setSSLParameters(params);
 
@@ -2550,6 +2575,7 @@
             event = e;
         }
 
+        @Override
         public void run() {
             // Don't need to synchronize, as it only runs in one thread.
             for (Map.Entry<HandshakeCompletedListener,AccessControlContext>
@@ -2558,6 +2584,7 @@
                 final HandshakeCompletedListener l = entry.getKey();
                 AccessControlContext acc = entry.getValue();
                 AccessController.doPrivileged(new PrivilegedAction<Void>() {
+                    @Override
                     public Void run() {
                         l.handshakeCompleted(event);
                         return null;
@@ -2570,6 +2597,7 @@
     /**
      * Returns a printable representation of this end of the connection.
      */
+    @Override
     public String toString() {
         StringBuffer retval = new StringBuffer(80);
 
--- a/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ServerHandshaker.java	Sat Nov 24 04:09:19 2012 -0800
@@ -43,7 +43,6 @@
 import sun.security.ssl.HandshakeMessage.*;
 import sun.security.ssl.CipherSuite.*;
 import sun.security.ssl.SignatureAndHashAlgorithm.*;
-import static sun.security.ssl.CipherSuite.*;
 import static sun.security.ssl.CipherSuite.KeyExchange.*;
 
 /**
@@ -144,6 +143,7 @@
      * It updates the state machine as each message is processed, and writes
      * responses as needed using the connection in the constructor.
      */
+    @Override
     void processMessage(byte type, int message_len)
             throws IOException {
         //
@@ -526,6 +526,7 @@
                         try {
                             subject = AccessController.doPrivileged(
                                 new PrivilegedExceptionAction<Subject>() {
+                                @Override
                                 public Subject run() throws Exception {
                                     return
                                         Krb5Helper.getServerSubject(getAccSE());
@@ -1329,6 +1330,7 @@
             kerberosKeys = AccessController.doPrivileged(
                 // Eliminate dependency on KerberosKey
                 new PrivilegedExceptionAction<SecretKey[]>() {
+                @Override
                 public SecretKey[] run() throws Exception {
                     // get kerberos key for the default principal
                     return Krb5Helper.getServerKeys(acc);
@@ -1600,6 +1602,7 @@
     /*
      * Returns a HelloRequest message to kickstart renegotiations
      */
+    @Override
     HandshakeMessage getKickstartMessage() {
         return new HelloRequest();
     }
@@ -1608,6 +1611,7 @@
     /*
      * Fault detected during handshake.
      */
+    @Override
     void handshakeAlert(byte description) throws SSLProtocolException {
 
         String message = Alerts.alertDescription(description);
--- a/jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -243,10 +243,12 @@
         return false;
     }
 
+    @Override
     int length() {
         return listLength == 0 ? 4 : 6 + listLength;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt16(type.id);
         if (listLength == 0) {
@@ -262,6 +264,7 @@
         }
     }
 
+    @Override
     public String toString() {
         StringBuffer buffer = new StringBuffer();
         for (SNIServerName sniName : sniMap.values()) {
--- a/jdk/src/share/classes/sun/security/ssl/SessionId.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SessionId.java	Sat Nov 24 04:09:19 2012 -0800
@@ -68,6 +68,7 @@
     }
 
     /** Returns the ID as a string */
+    @Override
     public String toString ()
     {
         int             len = sessionId.length;
@@ -85,6 +86,7 @@
 
 
     /** Returns a value which is the same for session IDs which are equal */
+    @Override
     public int hashCode ()
     {
         int     retval = 0;
@@ -95,6 +97,7 @@
     }
 
     /** Returns true if the parameter is the same session ID */
+    @Override
     public boolean equals (Object obj)
     {
         if (!(obj instanceof SessionId))
--- a/jdk/src/share/classes/sun/security/ssl/SunJSSE.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SunJSSE.java	Sat Nov 24 04:09:19 2012 -0800
@@ -148,6 +148,7 @@
 
     private void registerAlgorithms(final boolean isfips) {
         AccessController.doPrivileged(new PrivilegedAction<Object>() {
+            @Override
             public Object run() {
                 doRegister(isfips);
                 return null;
--- a/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -166,6 +166,7 @@
      * @return the certificate chain (ordered with the user's certificate first
      * and the root certificate authority last)
      */
+    @Override
     public X509Certificate[] getCertificateChain(String alias) {
         if (alias == null) {
             return null;
@@ -181,6 +182,7 @@
     /*
      * Returns the key associated with the given alias
      */
+    @Override
     public PrivateKey getPrivateKey(String alias) {
         if (alias == null) {
             return null;
@@ -198,6 +200,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseClientAlias(String[] keyTypes, Principal[] issuers,
             Socket socket) {
         /*
@@ -228,6 +231,7 @@
      *
      * @since 1.5
      */
+    @Override
     public String chooseEngineClientAlias(String[] keyType,
             Principal[] issuers, SSLEngine engine) {
         /*
@@ -242,6 +246,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String chooseServerAlias(String keyType,
             Principal[] issuers, Socket socket) {
         /*
@@ -283,6 +288,7 @@
      *
      * @since 1.5
      */
+    @Override
     public String chooseEngineServerAlias(String keyType,
             Principal[] issuers, SSLEngine engine) {
         /*
@@ -297,6 +303,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String[] getClientAliases(String keyType, Principal[] issuers) {
         return getAliases(keyType, issuers);
     }
@@ -306,6 +313,7 @@
      * socket given the public key type and the list of
      * certificate issuer authorities recognized by the peer (if any).
      */
+    @Override
     public String[] getServerAliases(String keyType, Principal[] issuers) {
         return getAliases(keyType, issuers);
     }
--- a/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -94,10 +94,12 @@
         return curveIds;
     }
 
+    @Override
     int length() {
         return 6 + (curveIds.length << 1);
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt16(type.id);
         int k = curveIds.length << 1;
@@ -108,6 +110,7 @@
         }
     }
 
+    @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append("Extension " + type + ", curve names: {");
--- a/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -67,10 +67,12 @@
         }
     }
 
+    @Override
     int length() {
         return 5 + formats.length;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt16(type.id);
         s.putInt16(formats.length + 1);
@@ -91,6 +93,7 @@
         }
     }
 
+    @Override
     public String toString() {
         List<String> list = new ArrayList<String>();
         for (byte format : formats) {
--- a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -27,11 +27,9 @@
 
 import java.util.*;
 import java.io.*;
-import java.math.*;
 import java.security.*;
 import java.security.cert.*;
 import javax.net.ssl.*;
-import java.security.spec.AlgorithmParameterSpec;
 
 import sun.security.validator.Validator;
 
@@ -45,6 +43,7 @@
         // empty
     }
 
+    @Override
     protected void engineInit(KeyStore ks) throws KeyStoreException {
         if (ks == null) {
             try {
@@ -85,6 +84,7 @@
     abstract X509TrustManager getInstance(ManagerFactoryParameters spec)
             throws InvalidAlgorithmParameterException;
 
+    @Override
     protected void engineInit(ManagerFactoryParameters spec) throws
             InvalidAlgorithmParameterException {
         trustManager = getInstance(spec);
@@ -94,6 +94,7 @@
     /**
      * Returns one trust manager for each type of trust material.
      */
+    @Override
     protected TrustManager[] engineGetTrustManagers() {
         if (!isInitialized) {
             throw new IllegalStateException(
@@ -109,6 +110,7 @@
             throws Exception {
         return AccessController.doPrivileged(
                 new PrivilegedExceptionAction<FileInputStream>() {
+                    @Override
                     public FileInputStream run() throws Exception {
                         try {
                             if (file.exists()) {
@@ -139,6 +141,7 @@
         KeyStore ks = null;
 
         AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
+            @Override
             public Void run() throws Exception {
                 props.put("trustStore", System.getProperty(
                                 "javax.net.ssl.trustStore"));
@@ -239,9 +242,11 @@
     }
 
     public static final class SimpleFactory extends TrustManagerFactoryImpl {
+        @Override
         X509TrustManager getInstance(KeyStore ks) throws KeyStoreException {
             return new X509TrustManagerImpl(Validator.TYPE_SIMPLE, ks);
         }
+        @Override
         X509TrustManager getInstance(ManagerFactoryParameters spec)
                 throws InvalidAlgorithmParameterException {
             throw new InvalidAlgorithmParameterException
@@ -251,9 +256,11 @@
    }
 
     public static final class PKIXFactory extends TrustManagerFactoryImpl {
+        @Override
         X509TrustManager getInstance(KeyStore ks) throws KeyStoreException {
             return new X509TrustManagerImpl(Validator.TYPE_PKIX, ks);
         }
+        @Override
         X509TrustManager getInstance(ManagerFactoryParameters spec)
                 throws InvalidAlgorithmParameterException {
             if (spec instanceof CertPathTrustManagerParameters == false) {
--- a/jdk/src/share/classes/sun/security/ssl/UnknownExtension.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/UnknownExtension.java	Sat Nov 24 04:09:19 2012 -0800
@@ -41,15 +41,18 @@
         }
     }
 
+    @Override
     int length() {
         return 4 + data.length;
     }
 
+    @Override
     void send(HandshakeOutStream s) throws IOException {
         s.putInt16(type.id);
         s.putBytes16(data);
     }
 
+    @Override
     public String toString() {
         return "Unsupported extension " + type + ", data: " +
             Debug.toString(data);
--- a/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -102,29 +102,34 @@
     // public methods
     //
 
+    @Override
     public X509Certificate[] getCertificateChain(String alias) {
         PrivateKeyEntry entry = getEntry(alias);
         return entry == null ? null :
                 (X509Certificate[])entry.getCertificateChain();
     }
 
+    @Override
     public PrivateKey getPrivateKey(String alias) {
         PrivateKeyEntry entry = getEntry(alias);
         return entry == null ? null : entry.getPrivateKey();
     }
 
+    @Override
     public String chooseClientAlias(String[] keyTypes, Principal[] issuers,
             Socket socket) {
         return chooseAlias(getKeyTypes(keyTypes), issuers, CheckType.CLIENT,
                         getAlgorithmConstraints(socket));
     }
 
+    @Override
     public String chooseEngineClientAlias(String[] keyTypes,
             Principal[] issuers, SSLEngine engine) {
         return chooseAlias(getKeyTypes(keyTypes), issuers, CheckType.CLIENT,
                         getAlgorithmConstraints(engine));
     }
 
+    @Override
     public String chooseServerAlias(String keyType,
             Principal[] issuers, Socket socket) {
         return chooseAlias(getKeyTypes(keyType), issuers, CheckType.SERVER,
@@ -142,6 +147,7 @@
                          // It is not a really HTTPS endpoint identification.
     }
 
+    @Override
     public String chooseEngineServerAlias(String keyType,
             Principal[] issuers, SSLEngine engine) {
         return chooseAlias(getKeyTypes(keyType), issuers, CheckType.SERVER,
@@ -159,10 +165,12 @@
                          // It is not a really HTTPS endpoint identification.
     }
 
+    @Override
     public String[] getClientAliases(String keyType, Principal[] issuers) {
         return getAliases(keyType, issuers, CheckType.CLIENT, null);
     }
 
+    @Override
     public String[] getServerAliases(String keyType, Principal[] issuers) {
         return getAliases(keyType, issuers, CheckType.SERVER, null);
     }
@@ -488,11 +496,13 @@
             this.checkResult = checkResult;
         }
 
+        @Override
         public int compareTo(EntryStatus other) {
             int result = this.checkResult.compareTo(other.checkResult);
             return (result == 0) ? (this.keyIndex - other.keyIndex) : result;
         }
 
+        @Override
         public String toString() {
             String s = alias + " (verified: " + checkResult + ")";
             if (builderIndex == 0) {
--- a/jdk/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java	Sat Nov 24 03:34:27 2012 -0800
+++ b/jdk/src/share/classes/sun/security/ssl/X509TrustManagerImpl.java	Sat Nov 24 04:09:19 2012 -0800
@@ -28,7 +28,6 @@
 
 import java.net.Socket;
 import javax.net.ssl.SSLSession;
-import java.nio.charset.StandardCharsets;
 
 import java.util.*;
 import java.security.*;