if (isClosed()) throw new SocketException("socket is closed");
  public boolean getReuseAddress () throws SocketException  {    Object reuseaddr = getImpl().getOption (SocketOptions.SO_REUSEADDR);    if (!(reuseaddr instanceof Boolean))      throw new SocketException ("Internal Error");    return ((Boolean) reuseaddr).booleanValue ();  }