This pseudo-plugin replaced the plugin removed from the platform in order to avoid diagnostics regarding optional plugin not found.

See Bug 539655 for discussion of the workaround needed briefly for Eclipse 4.9/4.10 prior to the Tycho 1.3.0 fix.