code: public static Provider getByName(String providerName) {
      checkNotNull(providerName, "providerName");
      Provider matchedProvider = null;
      List<String> providerNames = new ArrayList<String>();
      for (Provider provider : list()) {
        if (provider.name().equals(providerName)) {
          matchedProvider = provider;
          break;
        }
        providerNames.add(provider.name());
      }
      checkArgument(matchedProvider != null, "provider %s not in set of configured providers: %s",
                    providerName,
                    providerNames);
      return matchedProvider;
    }
docs: Key look up from {@link #list()}.
  
  @param providerName corresponds to {@link Provider#name()}. ex {@code ultradns}
  @throws IllegalArgumentException if the providerName is not configured
  @see #list()