code: public void set(T newValue) throws IOException, InterruptedException {
      try {
        set0(newValue);
      } catch (InterruptedIOException | ClosedByInterruptException e) {
        throw new InterruptedException(e.getMessage());
      }
    }
docs: Set the reference to {@code newValue}.
  
  @param newValue The value to set.
  
  @throws IOException          If an error occurs working with the file on disk.
  @throws InterruptedException If the thread is interrupted.