Bug 152712 GUIException is thrown out when merge the cell in the table group
Description: Merge several cells in the table group, GUIException throws out. Steps to reproduce: 1.Create a sample datasource and dataset. 2.Pull the dataset the layout, add a group on the table. 3.Merge the cells in the group, GUIException throws out. Error log: org.eclipse.birt.report.designer.core.runtime.GUIException: Caused by java.lang.NullPointerException. at org.eclipse.birt.report.designer.core.runtime.GUIException.createGUIException(GUIException.java:76) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:123) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:105) at org.eclipse.birt.report.designer.internal.ui.editors.parts.event.ModelEventManager.postModelEvent(ModelEventManager.java:132) at org.eclipse.birt.report.designer.internal.ui.editors.parts.event.ModelEventManager.postEvent(ModelEventManager.java:102) at org.eclipse.birt.report.designer.internal.ui.editors.parts.event.ModelEventManager.access$000(ModelEventManager.java:36) at org.eclipse.birt.report.designer.internal.ui.editors.parts.event.ModelEventManager$1.stackChanged(ModelEventManager.java:62) at org.eclipse.birt.report.model.activity.ActivityStack.sendNotifcations(ActivityStack.java:845) at org.eclipse.birt.report.model.activity.ActivityStack.commit(ActivityStack.java:719) at org.eclipse.birt.report.designer.core.model.DesignElementHandleAdapter.transEnd(DesignElementHandleAdapter.java:182) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.TableEditPart.merge(TableEditPart.java:1039) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.actions.MergeAction.run(MergeAction.java:72) at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) Caused by: java.lang.NullPointerException at org.eclipse.birt.report.model.api.SimpleGroupElementHandle.needHide(SimpleGroupElementHandle.java:416) at org.eclipse.birt.report.model.api.SimpleGroupElementHandle.isPropertyReadOnly(SimpleGroupElementHandle.java:381) at org.eclipse.birt.report.model.api.GroupPropertyHandle.isReadOnly(GroupPropertyHandle.java:383) at org.eclipse.birt.report.designer.ui.views.attributes.providers.PropertyProcessor.isReadOnly(PropertyProcessor.java:179) at org.eclipse.birt.report.designer.internal.ui.views.attributes.widget.ComboPropertyDescriptor.resetUIData(ComboPropertyDescriptor.java:130) at org.eclipse.birt.report.designer.internal.ui.views.attributes.page.AttributePage.refreshValues(AttributePage.java:125) at org.eclipse.birt.report.designer.internal.ui.views.attributes.page.AttributePage.setInput(AttributePage.java:110) at org.eclipse.birt.report.designer.internal.ui.views.attributes.page.BaseAttributePage.processListSelected(BaseAttributePage.java:182) at org.eclipse.birt.report.designer.internal.ui.views.attributes.page.BaseAttributePage.setInput(BaseAttributePage.java:242) at org.eclipse.birt.report.designer.ui.views.attributes.CategoryPageGenerator.createTabItems(CategoryPageGenerator.java:72) at org.eclipse.birt.report.designer.ui.views.attributes.CellPageGenerator.createTabItems(CellPageGenerator.java:45) at org.eclipse.birt.report.designer.ui.views.attributes.AttributesBuilder.createPages(AttributesBuilder.java:79) at org.eclipse.birt.report.designer.ui.views.attributes.AttributeView.showPropertiesPage(AttributeView.java:334) at org.eclipse.birt.report.designer.ui.views.attributes.AttributeView.handleSelectionChanged(AttributeView.java:621) at org.eclipse.birt.report.designer.ui.views.attributes.AttributeView.performRequest(AttributeView.java:583) at org.eclipse.birt.report.designer.core.util.mediator.ReportMediator.notifyRequest(ReportMediator.java:132) at org.eclipse.birt.report.designer.internal.ui.editors.parts.DeferredGraphicalViewer.fireSelectionChanged(DeferredGraphicalViewer.java:344) at org.eclipse.gef.ui.parts.AbstractEditPartViewer$1.run(AbstractEditPartViewer.java:124) at org.eclipse.gef.SelectionManager.fireSelectionChanged(SelectionManager.java:115) at org.eclipse.gef.SelectionManager.deselect(SelectionManager.java:92) at org.eclipse.gef.ui.parts.AbstractEditPartViewer.deselect(AbstractEditPartViewer.java:195) at org.eclipse.gef.editparts.AbstractEditPart.removeNotify(AbstractEditPart.java:866) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.removeNotify(AbstractGraphicalEditPart.java:714) at org.eclipse.gef.editparts.AbstractEditPart.removeChild(AbstractEditPart.java:811) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.TableEditPart.removeChild(TableEditPart.java:794) at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:735) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.refreshChildren(ReportElementEditPart.java:525) at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:677) at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:554) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.ReportElementEditPart.contentChange(ReportElementEditPart.java:857) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.TableEditPart.contentChange(TableEditPart.java:185) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.AbstractReportEditPart.contentChange(AbstractReportEditPart.java:212) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.AbstractReportEditPart$1.runModelChange(AbstractReportEditPart.java:67) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.AbstractReportEditPart$EditpartReportEventRunnable.run(AbstractReportEditPart.java:227) at org.eclipse.birt.report.designer.internal.ui.editors.schematic.editparts.AbstractModelEventProcessor.postElementEvent(AbstractModelEventProcessor.java:96) at org.eclipse.birt.report.designer.internal.ui.editors.parts.event.ModelEventManager.postModelEvent(ModelEventManager.java:127) ... 34 more
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/SimpleGroupElementHandle.java
* 
	 * @see org.eclipse.birt.report.model.api.GroupElementHandle#getModuleHandle()
	 */
	public ModuleHandle getModuleHandle( )
	{
		return (ModuleHandle) module.getHandle( module );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.model.api.GroupElementHandle#getCommonProperties()
	 */
	public List getCommonProperties( )
	{
		List minProps = getMinPropDefns( );
		List commonProps = new ArrayList( minProps );
		Iterator iter = minProps.iterator( );
		while ( iter.hasNext( ) )
		{
			PropertyDefn propDefn = (PropertyDefn) iter.next( );
			for ( int i = 0; i < elements.size( ); i++ )
			{
				if ( !( (DesignElementHandle) elements.get( i ) ).getElement( )
						.getPropertyDefns( ).contains( propDefn ) )
				{
					commonProps.remove( propDefn );
					break;
				}
			}
		}