how to account for disparate implementation needs?
<p>Suppose I have an interface with two concrete classes. One concrete needs to implement <code>IDisposable</code>. Should the interface be amended to implement <code>IDisposable</code> for the benefit of one class or should the consumer of the interface have to perform runtime checks for disposability?</p>

<p>I assume the interface should be amended as it is a simple change (especially if its a new interface) but I also can see a possible violation of liskov in changing a design to suit a particular implementation (especially if the other class or classes have to throw not supported exceptions)</p>
