if (impl == null) throw new SocketException ("Cannot initialize Socket implementation");
if (isClosed()) throw new SocketException("socket is closed");
  public boolean getReuseAddress() throws SocketException  {    if (impl == null)      throw new SocketException ("Cannot initialize Socket implementation");    Object obj = impl.getOption (SocketOptions.SO_REUSEADDR);      if (obj instanceof Boolean)      return(((Boolean) obj).booleanValue ());    else       throw new SocketException ("Unexpected type");  }