For the examples in this chapter (and anything else involving protocol handlers) it is absolutely essential that you arrange the classes into packages and the packages into directories correctly. These examples do work as described in the book. However, you must have your class and source paths configured perfectly.