docs: @Override
    public String waitForCode() throws IOException {
      waitUnlessSignaled.acquireUninterruptibly();
      if (error != null) {
        throw new IOException("User authorization failed (" + error + ")");
      }
      return code;
    }