### Question:
ValueWithFailures implements ImmutableBean, Serializable { public static <T> ValueWithFailures<T> of(T successValue, FailureItem... failures) { return new ValueWithFailures<>(successValue, ImmutableList.copyOf(failures)); } private  ValueWithFailures(
      T value,
      List<FailureItem> failures); static ValueWithFailures<T> of(T successValue, FailureItem... failures); static ValueWithFailures<T> of(T successValue, List<FailureItem> failures); static ValueWithFailures<T> of(T successValue, Collection<FailureItem> failures); static ValueWithFailures<T> of(T emptyValue, Supplier<T> supplier); static BinaryOperator<ValueWithFailures<T>> combiningValues(BinaryOperator<T> combiner); static Collector<ValueWithFailures<T>, ?, ValueWithFailures<T>> toValueWithFailures(
      T identityValue,
      BinaryOperator<T> operator); static Collector<ValueWithFailures<? extends T>, ?, ValueWithFailures<List<T>>> toCombinedValuesAsList(); static Collector<ValueWithFailures<? extends T>, ?, ValueWithFailures<Set<T>>> toCombinedValuesAsSet(); static ValueWithFailures<List<T>> combineValuesAsList(
      Iterable<? extends ValueWithFailures<? extends T>> items); static ValueWithFailures<Set<T>> combineValuesAsSet(
      Iterable<? extends ValueWithFailures<? extends T>> items); boolean hasFailures(); ValueWithFailures<R> map(Function<? super T, ? extends R> function); ValueWithFailures<T> mapFailures(Function<FailureItem, FailureItem> function); ValueWithFailures<R> flatMap(Function<? super T, ValueWithFailures<R>> function); ValueWithFailures<R> combinedWith(ValueWithFailures<U> other, BiFunction<T, U, R> combiner); ValueWithFailures<R> withValue(R value); ValueWithFailures<R> withValue(R value, List<FailureItem> additionalFailures); ValueWithFailures<R> withValue(ValueWithFailures<R> valueWithFailures); ValueWithFailures<T> withAdditionalFailures(List<FailureItem> additionalFailures); @SuppressWarnings("rawtypes") static ValueWithFailures.Meta meta(); @SuppressWarnings("unchecked") static ValueWithFailures.Meta<R> metaValueWithFailures(Class<R> cls); @SuppressWarnings("unchecked") @Override ValueWithFailures.Meta<T> metaBean(); T getValue(); ImmutableList<FailureItem> getFailures(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { ValueWithFailures<String> test = ValueWithFailures.of("success", FAILURE1, FAILURE2); coverImmutableBean(test); ValueWithFailures<String> test2 = ValueWithFailures.of("test"); coverBeanEquals(test, test2); }
@Test public void test_serialization() { ValueWithFailures<String> test = ValueWithFailures.of("success", FAILURE1, FAILURE2); assertSerialization(test); }