title: Naming convention: How to name a different version of the same class?
body: <p>I have a class <code>MyClass</code> which has a bug in the implementation. The class is part of a library, so I can't change the implementation of the class because it will silently change behavior for existing clients (clients who in this case may rely on the bug: See for example (<a href="https://connect.microsoft.com/VisualStudio/feedback/details/790160/httpclient-throws-operationcanceledexception-insead-of-timeoutexception">https://connect.microsoft.com/VisualStudio/feedback/details/790160/httpclient-throws-operationcanceledexception-insead-of-timeoutexception</a>))</p>
  
  <p>I need to create a second version of the same class which includes the bug fix.
  I've seen situations like this before but the naming I've seen was always incremental Eg <code>MyClass2</code> , <code>MyClass3</code>. </p>
  
  <p>These cases are probably quite rare, however I was wondering if there is a better way of naming these "versioned" classes. 
  I imagine a solution which grows in time and has multiple classes of these type which can get probably really confusing especially for a library. I imagine myself having to pick between <code>MyClass</code>, <code>MyClassV2</code>, <code>MyClassV3</code> etc.</p>