code: public void reachabilityChange(boolean reachable)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this,tc, "reachabilityChange", Boolean.valueOf(reachable));
      Object[] clonedConsumerPoints = null;
      synchronized (consumerPoints)
      {      
        // If we went from reachable to not reachable - clone the consumer points
        if (_currentReachability && !reachable)
        {
          // we clone the list before notifying the exception, since the CP's may call methods on the CD in the
          // context of the notification, and don't want a deadlock
          clonedConsumerPoints = consumerPoints.toArray();
        }
        _currentReachability = reachable;
      }
      if (clonedConsumerPoints != null)
      {
        // unreachable. throw exception to ConsumerPoints
        SIResourceException e = new SIResourceException(
          nls.getFormattedMessage("ANYCAST_STREAM_UNAVAILABLE_CWSIP0471",
                                  new Object[]{getDestName(), SIMPUtils.getMENameFromUuid(getLocalisationUuid().toString())},
                                  null));
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          SibTr.exception(tc, e);
  
        for (int i=0; i<clonedConsumerPoints.length; i++)
        {
          DispatchableKey ck = (DispatchableKey) clonedConsumerPoints[i];
          
          // Only close non gathering consumer points - the 
          
          ck.getConsumerPoint().implicitClose(null, e, _aih.getLocalisationUuid() );
        }
      }
      if (TraceComponent.isAnyTracingEnabled() &&  tc.isEntryEnabled()) SibTr.exit(tc, "reachabilityChange");
    }
docs: The reachability to the DME has changed
  @param b true if the DME is reachable, else false