code: private void createProbeSenders(ArgoClientContext context) throws TransportConfigException {
      
      senders = new ArrayList<ProbeSender>();
      
      if (config.usesNetworkInterface()) {
        try {
          for (String niName : context.getAvailableNetworkInterfaces(config.requiresMulticast())) {
            try {
              Transport transport = instantiateTransportClass(config.getClassname());
              transport.initialize(transportProps, niName);
              ProbeSender sender = new ProbeSender(transport);
              senders.add(sender);
            } catch (TransportConfigException e) {
              LOGGER.warn( e.getLocalizedMessage());
            }
          }
        } catch (SocketException e) {
          throw new TransportConfigException("Error getting available network interfaces", e);
        }
      } else {
        Transport transport = instantiateTransportClass(config.getClassname());
        transport.initialize(transportProps, "");
        ProbeSender sender = new ProbeSender(transport);
        senders.add(sender);
      }
    }
docs: Create the actual ProbeSender instances given the configuration
  information. If the transport depends on Network Interfaces, then create a
  ProbeSender for each NI we can find on this machine.
  
  @param context the main client configuration information
  @throws TransportConfigException if there is some issue initializing the
  transport.