Infinite loop when override setter of a property