I've spent quite some time in my last job writing Eclipse plugins. You learn to appreciate the complexities of exposing an ever-evolving platform with minimal backwards incompatible changes. ITextViewerExtension interfaces were my favorites. All eight of them, up to ITextViewerExtension8. You never quite knew which one would have the right method in it.