What type of structure do your object have?
Perhaps its a simple back-reference issue that is causing the problem or so which can be solved by a simple "clean splitting" (ie parent starts cleaning, then calls the childs clean function and then finish its own cleaning which depended on the child beeing nullified before, for example)
Perhaps its a simple back-reference issue that is causing the problem or so which can be solved by a simple "clean splitting" (ie parent starts cleaning, then calls the childs clean function and then finish its own cleaning which depended on the child beeing nullified before, for example)