During cascading, there needs to be a way to filter out certain objects from being created/saved/deleted. This filtering should operate in a manner similar to the HibernateMirrorFilter used in the GPS module. It is also needed because of the HibernateMirrorFilter; that filter will only catch items that are themselves inserted/updated/deleted, but it is ignored on objects that are cascade-created/saved/deleted. The discussion on this feature is here:
http://forums.opensymphony.com/thread.jspa?threadID=140105
I'll attach a patch, created against trunk downloaded on Nov 5, 2007. I've tested that it works with the way our code is setup but feel free to modify it however you need as I am not super familiar with the Compass source 