code: public static Arbitrator create(final Set<String> domains,
                                      final String interfaceName,
                                      final Version interfaceVersion,
                                      final DiscoveryQos discoveryQos,
                                      DiscoveryAsync localDiscoveryAggregator) throws DiscoveryException {
  
          ArbitrationStrategyFunction arbitrationStrategyFunction;
          switch (discoveryQos.getArbitrationStrategy()) {
          case FixedChannel:
              arbitrationStrategyFunction = new FixedParticipantArbitrationStrategyFunction();
              break;
          case Keyword:
              arbitrationStrategyFunction = new KeywordArbitrationStrategyFunction();
              break;
          case HighestPriority:
              arbitrationStrategyFunction = new HighestPriorityArbitrationStrategyFunction();
              break;
          case LastSeen:
              arbitrationStrategyFunction = new LastSeenArbitrationStrategyFunction();
              break;
          case Custom:
              arbitrationStrategyFunction = discoveryQos.getArbitrationStrategyFunction();
              break;
          default:
              throw new DiscoveryException("Arbitration failed: domain: " + domains + " interface: " + interfaceName
                      + " qos: " + discoveryQos + ": unknown arbitration strategy or strategy not set!");
          }
          return new Arbitrator(domains,
                                interfaceName,
                                interfaceVersion,
                                discoveryQos,
                                localDiscoveryAggregator,
                                minimumArbitrationRetryDelay,
                                arbitrationStrategyFunction,
                                discoveryEntryVersionFilter);
      }
docs: Creates an arbitrator defined by the arbitrationStrategy set in the discoveryQos.
  
  @param domains
  Set of domains of the provider.
  @param interfaceName
  Provided interface.
  @param interfaceVersion
  the Version of the interface being looked for.
  @param discoveryQos
  Arbitration settings like arbitration strategy, timeout and strategy specific parameters.
  @param localDiscoveryAggregator
  Source for capabilities lookup.
  @return the created Arbitrator object
  @throws DiscoveryException
  if arbitration strategy is unknown