This plugin is essentially a duplicate of org.eclipse.bpel.common.ui with the embedded editor functionality removed.
This was necessary because of breaking org.eclipse.ui API changes in Eclipse Juno.
After this feature is rewritten to work with Juno, this plugin must be removed and the plugins/pom.xml restored to its original.
