How do I make it so a clone of an object can't make other clones?

Basically I have a script in which once u click on the original object, it spawns a clone of it, this way there is an infinite amount of the same object, however if i click the clone it makes a clone as well… How do I make it so the game can distinguish between the original and the clone so that the clone doesn’t make any other clones?
The following script also has a pick up system to pickup an item when pressing E on it…

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InfinitePickupSystem : MonoBehaviour
{
    [SerializeField] private LayerMask InfiniteMask;
    [SerializeField] private Camera PlayerCam;
    [SerializeField] private Transform PickupTarget;
    [Space]
    [SerializeField] private float PickupRange;
    private Rigidbody CurrentObject;
    public bool isHolding;
    public GameObject newCup;
    public Transform Cup;
    public Transform parent;

    // Update is called once per frame
    void Update()
    {
        //PickUp System
        if (Input.GetButtonDown("Pickup"))
        {
            //Drops the current object that the player is holding
            if (CurrentObject)
            {
                isHolding = false;
                CurrentObject.useGravity = true;
                CurrentObject = null;
                return;
            }

            //Picks up the object from a specific Layer
            Ray CameraRay = PlayerCam.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f));
            if (Physics.Raycast(CameraRay, out RaycastHit HitInfo, PickupRange, InfiniteMask))
            {
                Instantiate(newCup, Cup.position, Cup.rotation, parent); //<-- Line of Code that spawns a clone
                CurrentObject = HitInfo.rigidbody;
                CurrentObject.useGravity = false;
            }
        }

        //Script that makes the object the player is holding follow his camera in a smooth way
        if (CurrentObject)
        {
            Vector3 DirectionToPoint = PickupTarget.position - CurrentObject.position;
            float DistanceToPoint = DirectionToPoint.magnitude;

            CurrentObject.velocity = DirectionToPoint * 12f * DistanceToPoint;
        }
    }
}

For example:
bool originalObject = true on original object.
Set originalObject to false on clone object.
Check if originalObject == true before instantiating.

Nevermind, Don’t worry i fixed it in a simple way, isntead of making the cloned object clone, make a button do it instead