@Override
    public String toString() {
      final StringJoiner joiner = new StringJoiner(", ");
      if (whenAsEpochMilli != 0) {
        joiner.add(DateTimeFormatter.ISO_INSTANT.format(Instant.ofEpochMilli(whenAsEpochMilli)));
      }
      if (StringUtils.isNotEmpty(extras)) {
        joiner.add(extras);
      }
      if (throwable != null) {
        joiner.add(throwable.toString());
      }
      return joiner.toString();
    }
Data structure that allows adding more info around Throwable incident.
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RetriesExhaustedException.java