@Override
  public Aead getAead(String uri) throws GeneralSecurityException {
    if (this.keyUri != null && !this.keyUri.equals(uri)) {
      throw new GeneralSecurityException(
          String.format(
              "this client is bound to %s, cannot load keys bound to %s", this.keyUri, uri));
    }
    String encodedKey = removePrefix(PREFIX, uri);
    byte[] bytes = Base64.urlSafeDecode(encodedKey);
    KeysetHandle keysetHandle =
        TinkProtoKeysetFormat.parseKeyset(bytes, InsecureSecretKeyAccess.get());
    return keysetHandle.getPrimitive(Aead.class);
  }
@return true either if this client is a generic one and uri starts with {@link
    FakeKmsClient#PREFIX}, or the client is a specific one that is bound to the key identified
    by {@code uri}.
java_src/src/main/java/com/google/crypto/tink/testing/FakeKmsClient.java