anchor.diff:  shard(X) ->
       rabbit_topic_util:shard(X).
   
  -maybe_start(X = #exchange{name = XName})->
  +maybe_start(X)->
       case shard(X) of
           true  -> 
               rabbit_topic_util:rpc_call(X, start_child),
  
positive.code: description() ->
      [{description, <<"Shard exchange decorator">>}].
  
  serialise_events(X) -> false.
  
  create(transaction, _X) ->
      ok;
  
negative.code:         false -> ok
      end.
  
  maybe_stop(X) ->
      case shard(X) of
          true  -> 
              rabbit_topic_util:rpc_call(X, stop_child),
  