Chain of Responsibility Example Java code is wrong

The example java code for the Chain of Responsibility pattern is incorrect.  It is; however, a good demonstration of the pattern: Infinite Loop.  Two things are required to fix the code:

1. The abstract Handler class must declare a nextHandler(Request request) method.  Here is an example:

protected final nextHandler(final Request request)

{

  if (m_successor != null)

  {

    m_successor.handleRequest(request);

  }

}

2. Instad of calling super.handleRequest() for unhandled requests, the Concrete handlers should call nextHandler(request).