@Override
  public ImmutableList<Fact> facts() {
    return facts;
  }
@GwtIncompatible
  @Test
  public void testSerialization_AssertionErrorWithFacts() {
    ImmutableList<String> messages = ImmutableList.of("hello");
    ImmutableList<Fact> facts = ImmutableList.of(fact("first", "value"), simpleFact("second"));
    Throwable cause = new Throwable("cause");
    AssertionErrorWithFacts original = new AssertionErrorWithFacts(messages, facts, cause);

    AssertionErrorWithFacts reserialized = reserialize(original);
    assertThat(reserialized).hasMessageThat().isEqualTo(original.getMessage());
    assertThat(reserialized).hasCauseThat().hasMessageThat().isEqualTo(cause.getMessage());
    assertThat(reserialized.facts().get(0).key).isEqualTo("first");
    assertThat(reserialized.facts().get(0).value).isEqualTo("value");
    assertThat(reserialized.facts().get(1).key).isEqualTo("second");
  }