code: public long write(short type, byte[][] data)
              throws InterruptedException, IOException {
          try {
              return super.put(type, data, true);
          } catch (InterruptedException e) {
              throw e;
          } catch (IOException e) {
              throw e;
          } catch (Throwable e) {
              throw new DelegatedRuntimeException(e);
          }
      }
docs: Sub-classes call this method to write log records with
  a specific record type.
  
  @param type a record type defined in LogRecordType.
  @param data record data to be logged.
  @return a log key that can be used to reference
  the record.