public static void validate(FilterPredicate predicate, MessageType schema) {
    Objects.requireNonNull(predicate, "predicate cannot be null");
    Objects.requireNonNull(schema, "schema cannot be null");
    predicate.accept(new SchemaCompatibilityValidator(schema));
  }
@Test
  public void testRepeatedSupportedForContainsPredicates() {
    try {
      validate(contains(eq(lotsOfLongs, 10L)), schema);
      validate(and(contains(eq(lotsOfLongs, 10L)), contains(eq(lotsOfLongs, 5l))), schema);
      validate(or(contains(eq(lotsOfLongs, 10L)), contains(eq(lotsOfLongs, 5l))), schema);
    } catch (IllegalArgumentException e) {
      fail("Valid repeated column predicates should not throw exceptions");
    }
  }