The UniqueMatchingRule portion of the syslog connection method in a
collector's package.xml tells the system which events should go to this
collector instead of through the generic collector when using Syslog. So
far so good; I have one of those rules, and it works just fine; in fact,
it created the collector immediately after I imported the plugin for the
first time, and the connector, and the event source nod... all in about
five seconds, so that was great. Everything works nicely.... almost.

If I restart the Generic Event Collector node on this CM then all events
that should go to this new collector of mine instead go to the generic
collector, losing all of my nice new parsing. The event source node
representing the source of events which are now going to the generic
collector is still located under my collector, but the events are
definitely going through the wrong one (severities are wrong, events lack
any fun fields, collectorid is wrong on the events, etc.). This is a
problem since the order of collector startup has not ever seemed to matter

If I then do something like restart the event source node under my
collector, events still end up going to the generic collector. If I
restart the connector node under my collector, events correctly start
routing to my own collector again.

It seems like, in my case, that things work properly only if my pieces
start after the generic collector. Is this normal? I cannot find much
documentation on this feature at all in the SDK docs, and nothing
mentioning order requirements. Using the current 2011.1 SDK and Sentinel
7.0 SP2.