docs: public String reverseResolve(String address) {
          if (WalletUtils.isValidAddress(address)) {
              String reverseName = Numeric.cleanHexPrefix(address) + REVERSE_NAME_SUFFIX;
              PublicResolver resolver = obtainPublicResolver(reverseName);
  
              byte[] nameHash = NameHash.nameHashAsBytes(reverseName);
              String name = null;
              try {
                  name = resolver.name(nameHash).send();
              } catch (Exception e) {
                  throw new RuntimeException("Unable to execute Ethereum request", e);
              }
  
              if (!isValidEnsName(name)) {
                  throw new RuntimeException("Unable to resolve name for address: " + address);
              } else {
                  return name;
              }
          } else {
              throw new EnsResolutionException("Address is invalid: " + address);
          }
      }