int posn = list.indexOf( structure ); if ( posn == -1 ) throw new PropertyValueException( element, ref.getPropDefn( ) .getName( ), null, PropertyValueException.DESIGN_EXCEPTION_ITEM_NOT_FOUND );
if ( posn < 0 || posn >= list.size( ) ) throw new IndexOutOfBoundsException( "Posn: " + posn + ", List Size: " + list.size( ) );
	public void removeItem( MemberRef ref, IStructure structure )			throws PropertyValueException	{		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 );		int posn = list.indexOf( structure );		if ( posn == -1 )			throw new PropertyValueException( element, ref.getPropDefn( )					.getName( ), null,					PropertyValueException.DESIGN_EXCEPTION_ITEM_NOT_FOUND );		doRemoveItem( new CachedMemberRef( ref, posn ) );	}