### Question:
Summary { public Summary merge(Summary other) { Preconditions.checkNotNull(other); return Summary.builder() .changeCount(changeCount + other.changeCount) .deletionCount(deletionCount + other.deletionCount) .fetchCount(fetchCount + other.fetchCount) .build(); } private  Summary(int changeCount, int deletionCount, int fetchCount); static Summary empty(); static Builder builder(); int getChangeCount(); int getDeletionCount(); int getFetchCount(); String summary(); Summary merge(Summary other); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString();  }### Answer:
@Test public void testMerge() { Summary merged = Summary.builder() .changeCount(1) .deletionCount(2) .fetchCount(3) .build() .merge( Summary.builder() .changeCount(4) .deletionCount(6) .fetchCount(9) .build()); assertThat(merged).isEqualTo(Summary.builder() .changeCount(5) .deletionCount(8) .fetchCount(12) .build()); }