In&outs when sending server-to-server message

I setup two XMPP servers and a S2S connection. I also wrote a plugin that based on some intercepted presence packets initiates an exchange of messages between the servers. I use the following code to send such message:

xmppServer = XMPPServer.getInstance();
messageRouter = xmppServer.getMessageRouter(); Message message = new Message();
message.setTo(new JID(to));
message.setFrom(new JID(xmppDomain));
message.setBody(body); messageRouter.route(message);

My interceptor starts with:

public void interceptPacket(Packet packet, Session session, boolean incoming, boolean processed) throws PacketRejectedException { if (processed)
  return; ...

Now finally, here is my question. I noticed that each outgoing routed message is intercepted twice by the plugin, once as ‘incoming=true’ and once as ‘incoming=false’. While the latter makes sense because it is an outgoing message, I don’t quite understand why it also appears as incoming?