As a followup to my initial post I have included generics within Predicate(s) to make them virtually resistent to ClassCastException(s). After some additional experimentation with the ideas that I presented in my initial blog I noticed that it was quite easy to create situations in which ClassCastException(s) were possible.
For example the following modifcation caused this situation.
After reading CrazyBob's article about sudo closures in java some time ago I made
it a point to familiarize myself with this particular idiom as well as others that
are often talked about but rarely used within the java community. Unfortunately
some time passed and as most things this todo slipped my mind until I stumbled
upon this article.
The article was rather short but provided practical...