Bug 152430 Key can modify to empty string
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/command/PropertyCommand.java
{
		assert ref != null;
		PropertyDefn propDefn = ref.getPropDefn( );
		assert propDefn != null;
		assertExtendedElement( module, element, propDefn );
		checkListMemberRef( ref );
		List list = ref.getList( module, element );
		if ( list == null )
			throw new PropertyValueException( element, ref.getPropDefn( ),
					null,
					PropertyValueException.DESIGN_EXCEPTION_ITEM_NOT_FOUND );
		if ( newItem != null )
		{
			checkItem( ref, newItem );
			element.checkStructureList( module, ref.getPropDefn( ), list,
					newItem );
		}
		ActivityStack stack = module.getActivityStack( );
		stack.startTrans( ModelMessages
				.getMessage( MessageConstants.REPLACE_ITEM_MESSAGE ) );
		makeLocalCompositeValue( ref );
		list = ref.getList( module, element );
		assert list != null;
		int index = list.indexOf( oldItem );
		if ( index == -1 )
			throw new PropertyValueException( element, ref.getPropDefn( )
					.getName( ), oldItem,
					PropertyValueException.DESIGN_EXCEPTION_ITEM_NOT_FOUND );
		PropertyReplaceRecord record = new PropertyReplaceRecord( element, ref,
				list, index, newItem );