public CollectionPattern<T> all(final ElementPattern<? extends T> pattern) {
    return with(new PatternCondition<Collection<T>>("all") {
      @Override
      public boolean accepts(final @NotNull Collection<T> collection, final ProcessingContext context) {
        for (final T t : collection) {
          if (!pattern.accepts(t, context)) return false;
        }
        return true;
      }
    });
  }
public CollectionPattern<T> all(final ElementPattern<? extends T> pattern)