code: public boolean doInnerCallback(ModificationQueue modificationQueue, SecurityContext securityContext, ErrorBuffer errorBuffer) throws FrameworkException {
  
  		// check for modification propagation along the relationships
  		if ((status & STATE_PROPAGATING_MODIFICATION) == STATE_PROPAGATING_MODIFICATION && object instanceof AbstractNode) {
  
  			Set<AbstractNode> nodes = ((AbstractNode)object).getNodesForModificationPropagation();
  			if (nodes != null) {
  
  				for (AbstractNode node : nodes) {
  
  					modificationQueue.propagatedModification(node);
  				}
  			}
  
  		}
  
  		// examine only the last 4 bits here
  		switch (status & 0x000f) {
  
  			case 15:
  			case 14:
  			case 13:
  			case 12:
  			case 11:
  			case 10:
  			case  9:
  			case  8: // since all values >= 8 mean that the object was passively deleted, no action has to be taken
  				 // (no callback for passive deletion!)
  				break;
  
  			case 7:	// created, modified, deleted, poor guy => no callback
  				break;
  
  			case 6: // created, modified => only creation callback will be called
  				object.onCreation(securityContext, errorBuffer);
  				break;
  
  			case 5: // created, deleted => no callback
  				break;
  
  			case 4: // created => creation callback
  				object.onCreation(securityContext, errorBuffer);
  				break;
  
  			case 3: // modified, deleted => deletion callback
  				object.onDeletion(securityContext, errorBuffer, removedProperties);
  				break;
  
  			case 2: // modified => modification callback
  				object.onModification(securityContext, errorBuffer, modificationQueue);
  				break;
  
  			case 1: // deleted => deletion callback
  				object.onDeletion(securityContext, errorBuffer, removedProperties);
  				break;
  
  			case 0:	// no action, no callback
  				break;
  
  			default:
  				break;
  		}
  
  		// mark as finished
  		modified = false;
  
  		return !errorBuffer.hasError();
  	}
docs: Call beforeModification/Creation/Deletion methods.
  
  @param modificationQueue
  @param securityContext
  @param errorBuffer
  @return valid
  @throws FrameworkException