title: NServiceBus: Events, Multiple Inheritance, Handlers being called more than once per event
body: <p>I'm have some mysterious problems with handlers being called more than once per event which appears to be correlated with events built up via interface inheritance.</p>
  
  <p>We are using only interfaces for our messages and using<code>NServiceBus.MessageInterfaces.MessageMapper.Reflection.MessageMapper().CreateInstance()</code> to create instances to put on the bus. </p>
  
  <p>Our interfaces:</p>
  
  <p><code>IOperationOccured</code> - Contains basic operation information, subscribers to this event act on things in a fairly generic way. This event is never raised directly.</p>
  
  <p><code>ISpecificOperationOccured</code> - Inherits <code>IOperationOccured</code>. Contains more specific information. Subscribers to this event are able to do more specific things since the event is more specific.</p>
  
  <p>The problem is that when <code>ISpecificOperationOccured</code> is raised, the handlers for <code>IOperationOccured</code> are called, the handlers for <code>ISpecificOperationOccured</code> are called and then the message appears to get processed again, calling the handlers again.</p>
  
  <p>What am I misunderstanding? I'd expect the handlers for <code>IOperationOccured</code> to get called once per event and the handlers for <code>ISpecificOperationOccured</code> to get called <strong>once</strong> per event.</p>