for some artifacts it makes sense to define the order of execution when it comes to add-ons which have to extend extval in a very special way. that allows to force an execution order independent of the registration order.
@InvocationOrder ... marks an artifact with a given order
@InvocationOrderSupport... marks interfaces (instances of classes implementing these interfaces will be sorted internally)
negative values for very special cases
0-49 for custom artifacts which should have the highest priority
50-99 for add-ons which provide artifacts which should have a higher priority than the default artifacts
1000+ for custom artifacts
a priority should be unique within one artifact-type - that means:
if a name-mapper has priority 100, it's ok that an exception-interceptor also has priority 100.
but a 2nd name-mapper shouldn't have priority 100 (if so - the order depends on the registration order)