if (impl == null) throw new IOException ("Cannot initialize Socket implementation");  if (remoteAddress != null && remoteAddress.isMulticastAddress ()) throw new IOException ( "Socket connected to a multicast address my not receive");
if (isClosed()) throw new SocketException("socket is closed");  if (remoteAddress != null && remoteAddress.isMulticastAddress()) throw new IOException ("Socket connected to a multicast address my not receive");
  public synchronized void receive(DatagramPacket p) throws IOException  {    if (impl == null)      throw new IOException ("Cannot initialize Socket implementation");    if (remoteAddress != null && remoteAddress.isMulticastAddress ())      throw new IOException (        "Socket connected to a multicast address my not receive");    if (getChannel() != null        && !getChannel().isBlocking ())      throw new IllegalBlockingModeException ();    impl.receive(p);    SecurityManager s = System.getSecurityManager();    if (s != null && isConnected ())      s.checkAccept (p.getAddress().getHostName (), p.getPort ());  }