executable extensions and serialization
I ran into an interesting issue today. Objects contributed to a plugin via an extension point using createExecutableExtension(attributeName) can not be serialized even if they implement Serializable. The problem is that when the object is being re-materialized by your plugin, you get a ClassNotFoundException, because your plugin has no access to the class loader of the plugin that provided the object. This is somehow circumvented by the createExecutableExtension API... So instead of serializing the object you have to somehow remember enough information to allow you to recreate the object using the same extension point API that created it in the first place.

