public @NotNull Self without(final PatternCondition<? super T> pattern) {
    return with(new PatternCondition<T>("without") {
      @Override
      public boolean accepts(final @NotNull T o, final ProcessingContext context) {
        return !pattern.accepts(o, context);
      }
    });
  }
public @NotNull Self without(final PatternCondition<? super T> pattern)