title: What is the fastest way to clone object several times
body: <p>I need to clone pretty big object several times and I am finding the faster way to do it.</p>
  
  <p>Now I use serialization by <code>BinaryForamter</code> into <code>MemoryStream</code>. So here is how I would like to use feature I am speaking about (<code>DeserializeToList</code> is method I am looking for):</p>
  
  <pre><code>var originalObject = new MyClass();
  var objectClones = new List&lt;MyClass&gt;();
  var cloneCount = 10;
  
  var formatter = new BinaryFormatter();
  using (var stream = new MemoryStream())
  {
    formatter.Serialize(stream, originalObject);
    stream.Seek(0, SeekOrigin.Begin);
    objectClones = (MyClass)formatter.DeserializeToList(formatter, cloneCount);
  }
  </code></pre>
  
  <p>Does anybody have any ideas?</p>
  
  <p><strong>UPDATE:</strong><br/>
  I don't want to change <code>MyClass</code>. That's why I use binary serialization. So <code>MyClass.Clone</code> isn't solution for now.</p>
  
  <p><strong>UPDATE 2:</strong><br/>
  I don't want to even touch <code>MyClass</code> or them properties. So manually properties copying isn't way I am looking for.</p>