code: private void readTheListUninterruptibly() {
      boolean interrupted = false;
      try {
        while (true) {
          try {
            readTheList();
            return;
          } catch (InterruptedIOException e) {
            Thread.interrupted(); // Temporarily clear the interrupted state.
            interrupted = true;
          } catch (IOException e) {
            Platform.get().log(Platform.WARN, "Failed to read public suffix list", e);
            return;
          }
        }
      } finally {
        if (interrupted) {
          Thread.currentThread().interrupt(); // Retain interrupted status.
        }
      }
    }
docs: Reads the public suffix list treating the operation as uninterruptible. We always want to read
  the list otherwise we'll be left in a bad state. If the thread was interrupted prior to this
  operation, it will be re-interrupted after the list is read.