public static <T> MutationDetector forValueWithCoder(T value, Coder<T> coder)
      throws CoderException {
    if (value == null) {
      return noopMutationDetector();
    } else {
      return new CodedValueMutationDetector<>(value, coder);
    }
  }
@Test
  public void testEquivalentListOfArrays() throws Exception {
    List<byte[]> value = Arrays.asList(new byte[] {0x1}, new byte[] {0x2, 0x3}, new byte[] {0x4});
    MutationDetector detector =
        MutationDetectors.forValueWithCoder(value, ListCoder.of(ByteArrayCoder.of()));
    value.set(0, new byte[] {0x1});
    detector.verifyUnmodified();
  }