docs: private void hbasePutWithRetry(final PutRequest put, short attempts, short wait)
      throws HBaseException {
      put.setBufferable(false);  // TODO(tsuna): Remove once this code is async.
      while (attempts-- > 0) {
        try {
          client.put(put).joinUninterruptibly();
          return;
        } catch (HBaseException e) {
          if (attempts > 0) {
            LOG.error("Put failed, attempts left=" + attempts
                      + " (retrying in " + wait + " ms), put=" + put, e);
            try {
              Thread.sleep(wait);
            } catch (InterruptedException ie) {
              throw new RuntimeException("interrupted", ie);
            }
            wait *= 2;
          } else {
            throw e;
          }
        } catch (Exception e) {
          LOG.error("WTF?  Unexpected exception type, put=" + put, e);
        }
      }
      throw new IllegalStateException("This code should never be reached!");
    }