Bug 198270 Copying an aggregate does not make a copy, only a reference
In a table with groups or multiple columns, create an aggregate in a footer or a header. Copy the aggregate to another cell in a footer or a header. Make changes to the new aggregate appropriate to its new location. Expected result: The changes appear in only the new copy of the aggregate. Actual result: The changes appear in both aggregates because the new aggregate is not a copy, but a reference to the same aggregate as the original.
xtab/org.eclipse.birt.report.item.crosstab.ui/src/org/eclipse/birt/report/item/crosstab/internal/ui/dialogs/CrosstabBindingDialogHelper.java
arg ) ) );
				argHandle.setValue( ( (Text) argsMap.get( arg ) ).getText( ) );
				this.binding.addArgument( argHandle );
			}
		}
		else
		{
			if ( cmbDataField.getText( ) != null
					&& cmbDataField.getText( ).trim( ).length( ) == 0 
					&& cmbDataField.isEnabled( ))
			{
				this.binding = null;
				return;
			}
			if ( !( this.binding.getName( ) != null && this.binding.getName( )
					.equals( txtName.getText( ).trim( ) ) ) )
				this.binding.setName( txtName.getText( ) );
			this.binding.setDisplayName( txtDisplayName.getText( ) );
			for ( int i = 0; i < DATA_TYPE_CHOICES.length; i++ )
			{
				if ( DATA_TYPE_CHOICES[i].getDisplayName( )
						.equals( cmbType.getText( ) ) )
				{
					this.binding.setDataType( DATA_TYPE_CHOICES[i].getName( ) );
					break;
				}
			}
			if ( cmbDataField.isEnabled( ) )
				this.binding.setExpression( cmbDataField.getText( ) );
			else