OnDupulicate() is called every time an object is selected and deselected

Hi,
I am a newbie to Rhino. I have started to develop a plugin.

I have a question about UserData.OnDuplicate().
The OnDuplicate() is called every time an object is selected and deselected. Is this the correct behavior?

I want the method to be called only when the object is duplicated.
Is there any other setting I need to know?

protected override void OnDuplicate(UserData source)
{
  Debug.WriteLine("Dupulicate!");
  var src = source as ZoneUserData;
  this.Name = $"{src.Name}_Copy"; 
}

Best,
Yuichi