This block of access needs to be synchronized as in attributeChanged() and clearAttrChangedMaps()
Since the guard for both these maps in attributeChanged() and clearAttrChangedMaps is 'this' that is probably what should be used for both this and the previous block