#!/usr/local/bin/dot
#
# Class diagram 
# Generated by UMLGraph version 5.3 (http://www.umlgraph.org/)
#

digraph G {
	edge [fontname="arial",fontsize=10,labelfontname="arial",labelfontsize=10];
	node [fontname="arial",fontsize=10,shape=plaintext];
	nodesep=0.25;
	ranksep=0.5;
	// com.hammurapi.eventbus.RetractCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c0 [label=<<table title="com.hammurapi.eventbus.RetractCommand" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./RetractCommand.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> RetractCommand&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Resettable
	c1 [label=<<table title="com.hammurapi.eventbus.Resettable" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Resettable.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Resettable </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.RemoveCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c2 [label=<<table title="com.hammurapi.eventbus.RemoveCommand" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./RemoveCommand.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> RemoveCommand&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.ReflectiveEventHandlerFactory<E, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>>
	c3 [label=<<table title="com.hammurapi.eventbus.ReflectiveEventHandlerFactory" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./ReflectiveEventHandlerFactory.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ReflectiveEventHandlerFactory&lt;E, C, H extends Handle&lt;E, Integer, C&gt;, S extends EventStore&lt;E, Integer, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.ReflectiveEventHandler<E, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>>
	c4 [label=<<table title="com.hammurapi.eventbus.ReflectiveEventHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./ReflectiveEventHandler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ReflectiveEventHandler&lt;E, C, H extends Handle&lt;E, Integer, C&gt;, S extends EventStore&lt;E, Integer, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.PredicatedInferenceNode<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c5 [label=<<table title="com.hammurapi.eventbus.PredicatedInferenceNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./PredicatedInferenceNode.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> PredicatedInferenceNode&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.PredicateCostCardinalityComparator<E, C>
	c6 [label=<<table title="com.hammurapi.eventbus.PredicateCostCardinalityComparator" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./PredicateCostCardinalityComparator.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> PredicateCostCardinalityComparator&lt;E, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.PredicateChainingMatcher<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c7 [label=<<table title="com.hammurapi.eventbus.PredicateChainingMatcher" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./PredicateChainingMatcher.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> PredicateChainingMatcher&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.PostCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c8 [label=<<table title="com.hammurapi.eventbus.PostCommand" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./PostCommand.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> PostCommand&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Observer
	c9 [label=<<table title="com.hammurapi.eventbus.Observer" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Observer.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> Observer </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Matcher<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c10 [label=<<table title="com.hammurapi.eventbus.Matcher" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Matcher.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Matcher&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Matcher.HandlerManager<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c11 [label=<<table title="com.hammurapi.eventbus.Matcher.HandlerManager" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Matcher.HandlerManager.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> HandlerManager&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.MappingEventHandler<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c12 [label=<<table title="com.hammurapi.eventbus.MappingEventHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./MappingEventHandler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> MappingEventHandler&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Mapper<E>
	c13 [label=<<table title="com.hammurapi.eventbus.Mapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Mapper.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Mapper&lt;E&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.MappedHandlePredicate<T, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<T, P, C>, S extends com.hammurapi.eventbus.EventStore<T, P, C, H, S>>
	c14 [label=<<table title="com.hammurapi.eventbus.MappedHandlePredicate" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./MappedHandlePredicate.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> MappedHandlePredicate&lt;T, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;T, P, C&gt;, S extends EventStore&lt;T, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.JoinEventHandler<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c15 [label=<<table title="com.hammurapi.eventbus.JoinEventHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./JoinEventHandler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> JoinEventHandler&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.JavaBinderCompiler
	c16 [label=<<table title="com.hammurapi.eventbus.JavaBinderCompiler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./JavaBinderCompiler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> JavaBinderCompiler </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.JavaBinderCompiler.JavaExtractorEntry
	c17 [label=<<table title="com.hammurapi.eventbus.JavaBinderCompiler.JavaExtractorEntry" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./JavaBinderCompiler.JavaExtractorEntry.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> JavaExtractorEntry </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.JavaBinderCompiler.ConvertersBundle
	c18 [label=<<table title="com.hammurapi.eventbus.JavaBinderCompiler.ConvertersBundle" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./JavaBinderCompiler.ConvertersBundle.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ConvertersBundle </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.JavaBinder<E, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>, B extends com.hammurapi.eventbus.EventBus<E, java.lang.Integer, C, K, H, S>, I extends C>
	c19 [label=<<table title="com.hammurapi.eventbus.JavaBinder" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./JavaBinder.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> JavaBinder&lt;E, C, K, H extends Handle&lt;E, Integer, C&gt;, S extends EventStore&lt;E, Integer, C, H, S&gt;, B extends EventBus&lt;E, Integer, C, K, H, S&gt;, I extends C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.IntrospectorBase<E, C>
	c20 [label=<<table title="com.hammurapi.eventbus.IntrospectorBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./IntrospectorBase.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> IntrospectorBase&lt;E, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.IntrospectorBase.IntrospectionResult<E, C>
	c21 [label=<<table title="com.hammurapi.eventbus.IntrospectorBase.IntrospectionResult" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./IntrospectorBase.IntrospectionResult.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> IntrospectionResult&lt;E, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Introspector<E, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>, B extends com.hammurapi.eventbus.EventBus<E, java.lang.Integer, C, K, H, S>>
	c22 [label=<<table title="com.hammurapi.eventbus.Introspector" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Introspector.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Introspector&lt;E, C, K, H extends Handle&lt;E, Integer, C&gt;, S extends EventStore&lt;E, Integer, C, H, S&gt;, B extends EventBus&lt;E, Integer, C, K, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.InferencePolicy
	c23 [label=<<table title="com.hammurapi.eventbus.InferencePolicy" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./InferencePolicy.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr>
<tr><td align="center" balign="center"> InferencePolicy </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.InferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c24 [label=<<table title="com.hammurapi.eventbus.InferenceFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./InferenceFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> InferenceFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.InferenceContext<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c25 [label=<<table title="com.hammurapi.eventbus.InferenceContext" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./InferenceContext.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> InferenceContext&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.InferenceCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c26 [label=<<table title="com.hammurapi.eventbus.InferenceCommand" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./InferenceCommand.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> InferenceCommand&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.InferenceChainLengthFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c27 [label=<<table title="com.hammurapi.eventbus.InferenceChainLengthFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./InferenceChainLengthFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> InferenceChainLengthFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Handler
	c28 [label=<<table title="com.hammurapi.eventbus.Handler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Handler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> Handler </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.HandleExtractor<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c29 [label=<<table title="com.hammurapi.eventbus.HandleExtractor" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./HandleExtractor.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> HandleExtractor&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventStore<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c30 [label=<<table title="com.hammurapi.eventbus.EventStore" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventStore.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventStore&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandlerWrapperFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c31 [label=<<table title="com.hammurapi.eventbus.EventHandlerWrapperFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandlerWrapperFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventHandlerWrapperFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandlerWrapper<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c32 [label=<<table title="com.hammurapi.eventbus.EventHandlerWrapper" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandlerWrapper.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventHandlerWrapper&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandlerFilter<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c33 [label=<<table title="com.hammurapi.eventbus.EventHandlerFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandlerFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventHandlerFilter&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandlerBase<E, P extends java.lang.Comparable<P>, C>
	c34 [label=<<table title="com.hammurapi.eventbus.EventHandlerBase" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandlerBase.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventHandlerBase&lt;E, P extends Comparable&lt;P&gt;, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandlerBase.Mode
	c35 [label=<<table title="com.hammurapi.eventbus.EventHandlerBase.Mode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandlerBase.Mode.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;enumeration&#187; </td></tr>
<tr><td align="center" balign="center"> Mode </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c36 [label=<<table title="com.hammurapi.eventbus.EventHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventHandler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventHandler&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventDispatchMultiCauseException
	c37 [label=<<table title="com.hammurapi.eventbus.EventDispatchMultiCauseException" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventDispatchMultiCauseException.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventDispatchMultiCauseException </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventDispatchJoinContextFilter<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c38 [label=<<table title="com.hammurapi.eventbus.EventDispatchJoinContextFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventDispatchJoinContextFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventDispatchJoinContextFilter&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventDispatchJoinContext<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c39 [label=<<table title="com.hammurapi.eventbus.EventDispatchJoinContext" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventDispatchJoinContext.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventDispatchJoinContext&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventDispatchException
	c40 [label=<<table title="com.hammurapi.eventbus.EventDispatchException" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventDispatchException.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventDispatchException </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventDispatchContext<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c41 [label=<<table title="com.hammurapi.eventbus.EventDispatchContext" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventDispatchContext.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventDispatchContext&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventBusException
	c42 [label=<<table title="com.hammurapi.eventbus.EventBusException" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventBusException.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> EventBusException </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventBus<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c43 [label=<<table title="com.hammurapi.eventbus.EventBus" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventBus.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> EventBus&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.EventBus.Handle<E, P extends java.lang.Comparable<P>, C>
	c44 [label=<<table title="com.hammurapi.eventbus.EventBus.Handle" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./EventBus.Handle.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Handle&lt;E, P extends Comparable&lt;P&gt;, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.DuplicatesFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c45 [label=<<table title="com.hammurapi.eventbus.DuplicatesFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./DuplicatesFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> DuplicatesFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.DispatchNetworkException
	c46 [label=<<table title="com.hammurapi.eventbus.DispatchNetworkException" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./DispatchNetworkException.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> DispatchNetworkException </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.DispatchNetworkDotSnapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c47 [label=<<table title="com.hammurapi.eventbus.DispatchNetworkDotSnapshot" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./DispatchNetworkDotSnapshot.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> DispatchNetworkDotSnapshot&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.DerivationLoopFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c48 [label=<<table title="com.hammurapi.eventbus.DerivationLoopFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./DerivationLoopFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> DerivationLoopFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.Derivation<E, P extends java.lang.Comparable<P>, C>
	c49 [label=<<table title="com.hammurapi.eventbus.Derivation" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./Derivation.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Derivation&lt;E, P extends Comparable&lt;P&gt;, C&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.CompositeInferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c50 [label=<<table title="com.hammurapi.eventbus.CompositeInferenceFilter" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./CompositeInferenceFilter.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> CompositeInferenceFilter&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.CompositeContext<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c51 [label=<<table title="com.hammurapi.eventbus.CompositeContext" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./CompositeContext.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> CompositeContext&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c52 [label=<<table title="com.hammurapi.eventbus.AbstractEventHandler" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventHandler.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> AbstractEventHandler&lt;E, P extends Comparable&lt;P&gt;, C, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.AbstractEventBus.Handle<E, P, C, K>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c53 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"><font face="arial italic"> AbstractEventBus&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C, K&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </font></td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus.Snapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c54 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus.Snapshot" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.Snapshot.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Snapshot&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus.StateSnapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c55 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus.StateSnapshot" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.StateSnapshot.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> StateSnapshot&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus.DerivationEx<K>
	c56 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus.DerivationEx" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.DerivationEx.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> DerivationEx&lt;K&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus.StoreEntry<E, P extends java.lang.Comparable<P>, C, K>
	c57 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus.StoreEntry" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.StoreEntry.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> StoreEntry&lt;E, P extends Comparable&lt;P&gt;, C, K&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	// com.hammurapi.eventbus.AbstractEventBus.Handle<E, P extends java.lang.Comparable<P>, C, K>
	c58 [label=<<table title="com.hammurapi.eventbus.AbstractEventBus.Handle" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p" href="./AbstractEventBus.Handle.html">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Handle&lt;E, P extends Comparable&lt;P&gt;, C, K&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
	//com.hammurapi.eventbus.RetractCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> extends com.hammurapi.eventbus.InferenceCommand<E, P, C, K, H, S>
	c26:p -> c0:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.RemoveCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> extends com.hammurapi.eventbus.InferenceCommand<E, P, C, K, H, S>
	c26:p -> c2:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.ReflectiveEventHandlerFactory<E, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>> extends com.hammurapi.eventbus.IntrospectorBase<E, C>
	c20:p -> c3:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.ReflectiveEventHandler<E, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>> implements com.hammurapi.eventbus.EventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c36:p -> c4:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.PredicatedInferenceNode<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.InferenceNode<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c82:p -> c5:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.PredicateChainingMatcher<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.Matcher<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c10:p -> c7:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.PredicateChainingMatcher<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>.JoinInputEventHandler implements com.hammurapi.eventbus.EventHandlerWrapper<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c32:p -> c7:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.PostCommand<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> extends com.hammurapi.eventbus.InferenceCommand<E, P, C, K, H, S>
	c26:p -> c8:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.MappingEventHandler<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.JoinEventHandler<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c15:p -> c12:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.JoinEventHandler<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventHandlerBase<E, P extends java.lang.Comparable<P>, C>
	c34:p -> c15:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.Introspector<E, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>, B extends com.hammurapi.eventbus.EventBus<E, java.lang.Integer, C, K, H, S>> extends com.hammurapi.eventbus.ReflectiveEventHandlerFactory<E, C, H, S>
	c3:p -> c22:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.Introspector<E, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>, B extends com.hammurapi.eventbus.EventBus<E, java.lang.Integer, C, K, H, S>> implements com.hammurapi.eventbus.JavaBinder<E, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, java.lang.Integer, C>, S extends com.hammurapi.eventbus.EventStore<E, java.lang.Integer, C, H, S>, B extends com.hammurapi.eventbus.EventBus<E, java.lang.Integer, C, K, H, S>, I extends C>
	c19:p -> c22:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.InferenceChainLengthFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.InferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c24:p -> c27:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventHandlerWrapperFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventHandlerWrapper<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c32:p -> c31:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventHandlerWrapper<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventHandlerBase<E, P extends java.lang.Comparable<P>, C>
	c34:p -> c32:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventHandlerFilter<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> extends com.hammurapi.eventbus.AbstractEventHandler<E, P, C, H, S>
	c52:p -> c33:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.EventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventHandlerBase<E, P extends java.lang.Comparable<P>, C>
	c34:p -> c36:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventDispatchMultiCauseException extends com.hammurapi.eventbus.EventBusException
	c42:p -> c37:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.EventDispatchJoinContextFilter<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventDispatchJoinContext<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c39:p -> c38:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventDispatchJoinContext<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventDispatchContext<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c41:p -> c39:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.EventDispatchException extends com.hammurapi.eventbus.EventBusException
	c42:p -> c40:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.DuplicatesFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.InferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c24:p -> c45:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.DispatchNetworkException extends com.hammurapi.eventbus.EventBusException
	c42:p -> c46:p [dir=back,arrowtail=empty];
	//com.hammurapi.eventbus.DispatchNetworkDotSnapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.AbstractEventBus.Snapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c54:p -> c47:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.DerivationLoopFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.InferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c24:p -> c48:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.CompositeInferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.InferenceFilter<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c24:p -> c50:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.AbstractEventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventHandler<E, P extends java.lang.Comparable<P>, C, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c36:p -> c52:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.AbstractEventBus<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.AbstractEventBus.Handle<E, P, C, K>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.EventBus<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c43:p -> c53:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.AbstractEventBus.StateSnapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>> implements com.hammurapi.eventbus.AbstractEventBus.Snapshot<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c54:p -> c55:p [dir=back,arrowtail=empty,style=dashed];
	//com.hammurapi.eventbus.AbstractEventBus.Handle<E, P extends java.lang.Comparable<P>, C, K> implements com.hammurapi.eventbus.EventBus.Handle<E, P extends java.lang.Comparable<P>, C>
	c44:p -> c58:p [dir=back,arrowtail=empty,style=dashed];
	// com.hammurapi.eventbus.InferenceNode<E, P extends java.lang.Comparable<P>, C, K, H extends com.hammurapi.eventbus.EventBus.Handle<E, P, C>, S extends com.hammurapi.eventbus.EventStore<E, P, C, H, S>>
	c82 [label=<<table title="com.hammurapi.eventbus.InferenceNode" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
		<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> InferenceNode&lt;E, P extends Comparable&lt;P&gt;, C, K, H extends Handle&lt;E, P, C&gt;, S extends EventStore&lt;E, P, C, H, S&gt;&gt; </td></tr>
		</table></td></tr>
		</table>>, fontname="arial", fontcolor="black", fontsize=9.0];
}

