private void discoverHost(HostSystem hostSystem,Host targetHost,HostStateChange changes){
  HostSystemConnectionState connectionState=getConnectionState(hostSystem);
  if (connectionState == HostSystemConnectionState.connected) {
    List<Initiator> oldInitiators=new ArrayList<Initiator>();
    List<Initiator> addedInitiators=new ArrayList<Initiator>();
    discoverConnectedHostInitiators(hostSystem,targetHost,oldInitiators,addedInitiators);
    if (!oldInitiators.isEmpty() || !addedInitiators.isEmpty()) {
      Collection<URI> oldInitiatorIds=Lists.newArrayList(Collections2.transform(oldInitiators,CommonTransformerFunctions.fctnDataObjectToID()));
      changes.setOldInitiators(oldInitiatorIds);
      Collection<URI> addedInitiatorIds=Lists.newArrayList(Collections2.transform(addedInitiators,CommonTransformerFunctions.fctnDataObjectToID()));
      changes.setNewInitiators(addedInitiatorIds);
    }
  }
 else {
    if (connectionState == HostSystemConnectionState.disconnected) {
      throw new IllegalStateException("Host is disconnected");
    }
 else     if (connectionState == HostSystemConnectionState.notResponding) {
      throw new IllegalStateException("Host is not responding");
    }
 else {
      throw new IllegalStateException("Could not determine host connection state");
    }
  }
}

private void discoverHost ( HostSystem hostSystem , Host targetHost , HostStateChange changes ) { HostSystemConnectionState connectionState = getConnectionState ( hostSystem ) ; if ( connectionState == HostSystemConnectionState . connected ) { List < Initiator > oldInitiators = new ArrayList < Initiator > ( ) ; List < Initiator > addedInitiators = new ArrayList < Initiator > ( ) ; discoverConnectedHostInitiators ( hostSystem , targetHost , oldInitiators , addedInitiators ) ; if ( ! oldInitiators . isEmpty ( ) || ! addedInitiators . isEmpty ( ) ) { Collection < URI > oldInitiatorIds = Lists . newArrayList ( Collections2 . transform ( oldInitiators , CommonTransformerFunctions . fctnDataObjectToID ( ) ) ) ; changes . setOldInitiators ( oldInitiatorIds ) ; Collection < URI > addedInitiatorIds = Lists . newArrayList ( Collections2 . transform ( addedInitiators , CommonTransformerFunctions . fctnDataObjectToID ( ) ) ) ; changes . setNewInitiators ( addedInitiatorIds ) ; } } else { if ( connectionState == HostSystemConnectionState . disconnected ) { throw new IllegalStateException ( "Host is disconnected" ) ; } else if ( connectionState == HostSystemConnectionState . notResponding ) { throw new IllegalStateException ( "Host is not responding" ) ; } else { throw new IllegalStateException ( "Could not determine host connection state" ) ; } } }
discover exs host and its ipiterfaces and initiators .
