Could we not keep just the three sources and take the current defined order? For example if _ANNOTATION_ and _XML_ gets merged we keep annotations, etc. Also in the context of the issue itself, does this not mean that we make out of two _ANNOTATION_ sources a _MERGED_ source?