> So why make them public classes and interfaces and not package private? FilterList has to be public, in the same way as java.util.ArrayList needs to be public :-) Filter is public, but it could just as well be package protected as the methods on FilterList which allow access to the Filter are infact package protected. Jason ? --Jools