anchor.diff:  inject(Policy = #policy{endpoint = Endpoint,
                           method   = #'queue.bind'{exchange = Exchange},
                           pre      =  Pre}) ->
  -    Policy#policy{pre = [pre_commands(Node, Backend, Exchange)|Pre]};
  +    Policy#policy{pre = pre_commands(Endpoint, Exchange) ++ Pre};
   inject(Policy) ->
       Policy.
   
  
positive.code:         {Backend, _Declare} ->
              [];
          {Other, Declare} ->
              case upstream_exists(Other) of
                  true  -> federate(Declare, Other);
                  false -> []
              end
  
negative.code: %% @private
  upstream_exists(Node, Exchange, Upstream) ->
      %% from_set only looks at #resrouce.name/.vhost
      Name = #resource{name = Exchange, virtual_host = <<"/">>},
      Set = list_to_binary(atom_to_list(Upstream)),
      case rpc:call(Node, rabbit_federation_upstream, from_set, [Set, Name]) of
          {error, Error} ->
              lager:error("FED-FAILURE upstream_set: ~p", [Error]),
              false;
          {ok, _Any} ->
              true
  