docs: public Address currentAddress(KeyChain.KeyPurpose purpose) {
          DeterministicKeyChain chain = getActiveKeyChain();
          Script.ScriptType outputScriptType = chain.getOutputScriptType();
          if (chain.isMarried()) {
              Address current = currentAddresses.get(purpose);
              if (current == null) {
                  current = freshAddress(purpose);
                  currentAddresses.put(purpose, current);
              }
              return current;
          } else if (outputScriptType == Script.ScriptType.P2PKH || outputScriptType == Script.ScriptType.P2WPKH) {
              return Address.fromKey(params, currentKey(purpose), outputScriptType);
          } else {
              throw new IllegalStateException(chain.getOutputScriptType().toString());
          }
      }