code: FailureMetadata withMessage(String format, Object[] args) {
      ImmutableList<LazyMessage> messages = append(this.messages, new LazyMessage(format, args));
      return derive(messages, steps);
    }
docs: Returns a new instance whose failures will contain the given message. The way for Truth users
  to set a message is {@code check().withMessage(...).that(...)} (for calls from within a {@code
  Subject}) or {@link Truth#assertWithMessage} (for most other calls).