Bug 169025 Supports overridden on editor contribution
After contributting a new editor to the multiPageReportEditor, supports to enable the new editor to override a editor by assigning the ID.
UI/org.eclipse.birt.report.designer.ui.editors/src/org/eclipse/birt/report/designer/internal/ui/extension/EditorContributorManager.java
* extensions by model extension ID, or full list.It caches the information to
 * avoid reading the extensions each time.
 */
public class EditorContributorManager implements IExtensionConstants
{
	public static class EditorContributor
	{
		public String targetEditorId;
		public List formPageList;
		public boolean merge( EditorContributor contributor )
		{
			Assert.isNotNull( targetEditorId );
			boolean merged = false;
			if ( targetEditorId.equals( contributor.targetEditorId ) )
			{
				for ( Iterator itor = contributor.formPageList.iterator( ); itor.hasNext( ); )
				{
					FormPageDef incomingPage = (FormPageDef) itor.next( );
					FormPageDef exsitPage = getPage( incomingPage.id );
					if ( exsitPage == null )
					{
						formPageList.add( incomingPage );
						merged = true;
					}
					else
					{
						int index = formPageList.indexOf( exsitPage );
						formPageList.remove( exsitPage );
						formPageList.add( index, incomingPage );
					}