As recently discussed in the mailing list, if a ResourceChangeListener is interested in removal events, the listener might not get the event it is interested in. For example, if the listener is registered with a glob pattern, like **.jsp, but the parent (or any parent) of a jsp is removed. In that case no removal event for the jsp itself is sent. Which means the listener is unaware of removals.
We need to clarify this in the javadocs, but also should implement handling removal in the following:
If a listener is registered for removal events - regardless if a glob pattern is used or not - the listener will be notified of removals of any parent node up to the top level node. For example if a listener is interested in /a/b/c/*/.jsp, a removal of any resource below "c", but also removal of "a", "b", or "c" is reported to the listener.