def METHOD_NAME(self, modelObject):
    if self.blockViewModelObject == 0:
        try:
            self.blockViewModelObject += 1  # prevent recursion
            if isinstance(modelObject, ModelVersObject.ModelConceptChange):
                fromConcept = modelObject.fromConcept
                if fromConcept is not None:
                    self.fromDTS.METHOD_NAME(fromConcept.objectId())
                toConcept = modelObject.toConcept
                if toConcept is not None:
                    self.toDTS.METHOD_NAME(toConcept.objectId())
            elif isinstance(modelObject, ModelVersObject.ModelRelationships):
                if modelObject.isFromDTS:
                    self.fromDTS.METHOD_NAME(modelObject.fromRelationship.objectId())
                else:
                    self.toDTS.METHOD_NAME(modelObject.fromRelationship.objectId())
            elif isinstance(modelObject, (ModelVersObject.ModelInstanceAspect, ModelVersObject.ModelInstanceMemberAspect)):
                if modelObject.isFromDTS:
                    self.fromDTS.METHOD_NAME(modelObject.sourceDtsObject.objectId())
                else:
                    self.toDTS.METHOD_NAME(modelObject.sourceDtsObject.objectId())
            elif modelObject.modelXbrl != self.modelVersReport:  # propogate event to versiong report's modelXbrl
                self.modelVersReport.METHOD_NAME(modelObject)
        except Exception:
            pass
        self.blockViewModelObject -= 1  # unblock