On Filters and Static classes

by

I came across a useful illustration of the Filter design pattern:

http://www.erik-rasmussen.com/blog/2008/01/18/the-filter-pattern-java-conditional-abstraction-with-iterables/

And here's a discussion on the differences between singletons and static classes:
http://www.javaworld.com/javaqa/2000-12/03-qa-1221-singleton.html
The point is that static methods cannot be overriden and so static class is more of a utility. This means that a static class doesn't allow you the usual benefits of OOP.