Self (final @NotNull Language language) { return with(new PatternCondition<T>("withLanguage") { @Override public boolean accepts(final @NotNull T t, final ProcessingContext context) { return t.getLanguage().equals(language); } }); }