private void setSocketOption(final SocketOptionSetter s) throws SocketException {
   if (inner.isConnected()) {
     s.run();
   } else {
     if (!optionsToSet.offer(s)) {
       throw new SocketException("Failed to queue option");
     }
   }
 }
 @Override
 public InetAddress getInetAddress() {
   if (inner.isConnected()) {
     try {
       return InetAddress.getByName("localhost");
     } catch (UnknownHostException e) {
       return null;
     }
   }
   return null;
 }
 @Override
 public boolean isConnected() {
   return inner.isConnected();
 }