code: FailureMetadata updateForSubject(Subject<?, ?> subject) {
      ImmutableList<Step> steps = append(this.steps, Step.subjectCreation(subject));
      return derive(messages, steps);
    }
docs: Returns a new instance that includes the given subject in its chain of values. Truth users do
  not need to call this method directly; Truth automatically accumulates context, starting from
  the initial that(...) call and continuing into any chained calls, like {@link
  ThrowableSubject#hasMessageThat}.