makeLocalCompositeValue( ref ); list = ref.getList( design, element ); assert list != null;
	public void moveItem( MemberRef ref, int from, int to )			throws PropertyValueException	{		assert ref != null;		PropertyDefn propDefn = ref.getPropDefn( );		assert propDefn != null;		checkListMemberRef( ref );		List list = ref.getList( design, element );		if ( list == null )			throw new PropertyValueException( element, ref.getPropDefn( ),					null,					PropertyValueException.DESIGN_EXCEPTION_ITEM_NOT_FOUND );		ActivityStack stack = getActivityStack( );		String label = ModelMessages				.getMessage( MessageConstants.REMOVE_ITEM_MESSAGE );		stack.startTrans( label );		if ( from < 0 || from > list.size( ) )			throw new IndexOutOfBoundsException(					"From: " + from + ", List Size: " + list.size( ) ); //$NON-NLS-1$//$NON-NLS-2$		if ( to < 0 || to > list.size( ) )			throw new IndexOutOfBoundsException(					"To: " + to + ", List Size: " + list.size( ) ); //$NON-NLS-1$//$NON-NLS-2$		if ( ( from == to ) || ( from + 1 == to ) )			return;		// adjust the position when move a item from a position with a small		// index to another position with a bigger index.		if ( from < to )			to -= 1;		MoveListItemRecord record = new MoveListItemRecord( element, ref, list,				from, to );		stack.execute( record );		stack.commit( );	}