Duplicate Object and working with Duplicate without changing Original
<p>Assuming I have an Object ItemVO in which there a bunch of properties already assigned.
eg: </p>

<pre><code>ItemVO originalItemVO = new ItemVO();
originalItemVO.ItemId = 1;
originalItemVO.ItemCategory = "ORIGINAL";
</code></pre>

<p>I would like to create another duplicate by using :</p>

<pre><code>duplicateItemVO = originalItemVO;
</code></pre>

<p>and then use the duplicateItemVO and alter its' properties, WITHOUT changing the originalItemVO:</p>

<pre><code>// This also change the originalItemVO.ItemCategory which I do not want.
duplicateItemVO.ItemCategory = "DUPLICATE" 
</code></pre>

<p>How can I achieve this, without changing the class ItemVO ?</p>

<p>Thanks</p>

<pre><code>public class ItemVO     
{
    public ItemVO()
    {
        ItemId = "";
        ItemCategory = "";
    }

    public string ItemId { get; set; }
    public string ItemCategory { get; set; }
}
</code></pre>
