The key to hosting a
CompareEditorInput class appears to be providing a class which implements
org.eclipse.compare.ICompareContainer. Once you have this you connect it to the input using
org.eclipse.compare.internal.CompareContainer provides a partial implementation of the container but this is internal so should only be used as a guide rather than used directly.