code: @SuppressWarnings("unchecked")
    final protected void writeRecord(Object key, Object value) throws IOException {
      try {
        writer.write(key, value);
      } catch (InterruptedException e) {
        throw new IOException(e);
      }
    }
docs: Invokes writer.write(key, value). <br>
  The main purpose is to catch {@link InterruptedException} and covert it to an
  {@link IOException}. Avoids unnecessary try-catch dance in putNext() implementations.