public KmsClient newClientFor(String keyUri) throws GeneralSecurityException {
    for (Supplier<KmsClient> factory : factories) {
      KmsClient client = factory.get();
      if (client.doesSupport(keyUri)) {
        return client;
      }
    }
    throw new GeneralSecurityException("Unable to find factory for keyUri: " + keyUri);
  }
Enumerates all registered factories, creates a new client for each, and returns one if it
supports keyUri.
tools/tinkey/src/main/java/com/google/crypto/tink/tinkey/KmsClientsFactory.java