private Map<String,List<Zone>> selectZonesForInitiatorsAndPorts(NetworkLite network,Map<String,List<Zone>> wwnToZones,Map<String,StoragePort> initiatorPortsMap){
  Map<String,List<Zone>> filteredMap=new HashMap<String,List<Zone>>();
  Zone zone=null;
  List<Zone> zones=null;
  for (  String initiatorWwn : wwnToZones.keySet()) {
    for (    String portWwn : initiatorPortsMap.keySet()) {
      zone=_networkScheduler.selectExistingZoneForInitiatorPort(network,initiatorWwn,portWwn,wwnToZones.get(initiatorWwn));
      if (zone != null) {
        zones=filteredMap.get(initiatorWwn);
        if (zones == null) {
          zones=new ArrayList<>();
          filteredMap.put(initiatorWwn,zones);
        }
        zones.add(zone);
      }
    }
  }
  return filteredMap;
}

private Map < String , List < Zone > > selectZonesForInitiatorsAndPorts ( NetworkLite network , Map < String , List < Zone > > wwnToZones , Map < String , StoragePort > initiatorPortsMap ) { Map < String , List < Zone > > filteredMap = new HashMap < String , List < Zone > > ( ) ; Zone zone = null ; List < Zone > zones = null ; for ( String initiatorWwn : wwnToZones . keySet ( ) ) { for ( String portWwn : initiatorPortsMap . keySet ( ) ) { zone = _networkScheduler . selectExistingZoneForInitiatorPort ( network , initiatorWwn , portWwn , wwnToZones . get ( initiatorWwn ) ) ; if ( zone != null ) { zones = filteredMap . get ( initiatorWwn ) ; if ( zones == null ) { zones = new ArrayList < > ( ) ; filteredMap . put ( initiatorWwn , zones ) ; } zones . add ( zone ) ; } } } return filteredMap ; }
given the map of all existing zones for a set on initiators and ports , this function selects the zones that should be used by vipr .
