This plugin is essentially a duplicate of org.eclipse.bpel.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.
